动网论坛,站长建站首选,国内使用量最多的论坛软件 动网论坛官方技术讨论区 站长工具 申请属于您自己的免费论坛
首页 | 新闻资讯 | 网站运营 | 网络编程 | 数据库 | 服务器 | 网页设计 | 图像媒体 | 网络应用 | 搜索优化 | 资源下载 | 动网主机 | DVBOX
    本站内  互联网 ASP论坛  ASP.Net论坛  PHP论坛
   网页设计 → 阅读文章

 Java ME中一个通用的游戏信息框架类

作者:未知 来源:CSDN 
阅读 272 人次 , 2008-5-14 15:53:00 

 

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

/*游戏中的一些常用的框架*/
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);
     }  
 }   
}

  
 
 收藏本文  打印本文  论坛讨论  关闭窗口
· 上一篇:简化Java应用程序的打包和发布
· 下一篇:关于java中如何获得特殊字符
· 禁止右键、Ctrl键和复制功能的JS代码
· 韩国网站的设计好在哪里
· 主页计数器大揭秘(一)
· FrontPage10全透视教程(1)
· GoLive 5教程 4.5 控制多个物件的相对位置


关于本站 | 联系我们 | 业务合作 | 客户案例 | 诚聘英才 | 广告合作 | 收藏本站
海口动网先锋网络科技有限公司版权所有
Copyright © 2000 - 2006 Cndw.Com
中华人民共和国电信与信息服务业务经营许可证编号 琼 ICP 020077