服务热线:13616026886

技术文档 欢迎使用技术文档,我们为你提供从新手到专业开发者的所有资源,你也可以通过它日益精进

位置:首页 > 技术文档 > JAVA > 新手入门 > 基础入门 > 查看文档

java me中一个通用的游戏信息框架类


本类实现游戏菜单,游戏关于和游戏帮助的信息,能够自适应不同的手机

/*游戏中的一些常用的框架*/
import javax.microedition.lcdui.*;
import java.util.vector;
class showcontent
{
int w,h;//屏幕的长和宽
int cw;//字体的宽
int page,maxpage;//帮助信息中的页码/最大页码
int rn;//每行最大字数
int maxr;//每屏最多显示的行数
int cr;//字体行距
vector about;
vector help;
public showcontent(int wid,int hei,int charw,int charr,string[] abouttext,string[] helptext)
{
  about=new vector(0,1);
  help=new vector(0,1);
  w=wid;h=hei;cw=charw;cr=charr;
  rn=w/cw;
  maxr=(h-20)/cr;
  page=0;
  for(int m=0;m<abouttext.length;m++)
  {
   int i=1+(abouttext[m].length()-1)/rn;
   for(int p=0;p<i;p++)
   {
    if(p<i-1)
    about.addelement((string)(abouttext[m].substring(p*rn,(p+1)*rn)));
    else
    about.addelement((string)(abouttext[m].substring(p*rn)));
   }
  }
  for(int m=0;m<helptext.length;m++)
  {
   int i=1+(helptext[m].length()-1)/rn;
   for(int p=0;p<i;p++)
   {
    if(p<i-1)
    help.addelement((string)(helptext[m].substring(p*rn,(p+1)*rn)));
    else
    help.addelement((string)(helptext[m].substring(p*rn)));
   }
  }
  maxpage=(help.size()-1)/maxr;
}
public void showabout(graphics g1,int x,int y)//显示关于
{
  g1.setcolor(0);
  g1.fillrect(0,0,w,h);
  g1.setcolor(0xffffff);
  for(int i=0;i<about.size();i++)
  {
   g1.drawstring((string)(about.elementat(i)),x,y+i*cr,0);
  }
}
/*显示暂停*/
  public void drawpause(graphics g1)
  {
   g1.setcolor(0);
   g1.fillrect(w/2-30,h/2-6,60,30);
   g1.setcolor(0xffffff);
   g1.drawrect(w/2-30,h/2-6,60,30);
   g1.drawstring("暂停中",w/2-20,h/2,0);
  }
public void showhelp(graphics g1,int x,int y)//显示帮助
{
  g1.setcolor(0);
  g1.fillrect(0,0,w,h);
  g1.setcolor(0xffffff);  
  for(int i=0;i<maxr;i++)
  {
   if(page*maxr+i<help.size())
   g1.drawstring((string)(help.elementat(page*maxr+i)),x,y+i*cr,0);
  }
  g1.setcolor(0xffff00);
  g1.drawstring("按上下方向键翻页",20,h-20,0);
}
  public void drawmenu(graphics g1,int x,int y,int row,int w,string[] arraystr,int no)//显示菜单
  {
     g1.setcolor(0xffff00);
     g1.fillrect(x,y,w,arraystr.length*row);
     g1.setcolor(0xffffff);
     g1.drawrect(x,y,w,arraystr.length*row);
     for(int m=0;m<arraystr.length;m++)
     {
      if(no==m)
      g1.setcolor(0x0000ff);
      else
      g1.setcolor(0);
      g1.drawstring(arraystr[m],x+5,y+5+m*row,0);
     }   
}   
}


扫描关注微信公众号