J2ME手机游戏基本框架

public class MID extends MIDlet {
 Game mygame;
 Display dis=null;

 public MID() {
  if(dis==null){
   dis=Display.getDisplay(this);
   mymenu=new menu(this);
   mygamemenu=new gamemenu(this);
  }
  dis.setCurrent(mymenu);
 }

 protected void destroyApp(boolean arg0) throws MIDletStateChangeException {

 }

 protected void pauseApp() {
  // TODO Auto-generated method stub
 }

 protected void startApp() throws MIDletStateChangeException {
  // TODO Auto-generated method stub

 }

 }

上面是MIDlet文件的内容,实际上要写的只是定义一个继承于GameCanvas游戏类。并显示出来

下面是一个基本的游戏到底是怎么运作的

public class Game extends GameCanvas implements Runnable{//首先继承于GameCanvas  扩展Runnable以开启一个新的线程
 boolean running;//控制游戏输入,逻辑 画面时候继续更新的开关
 private int mytiem=60;//游戏多少毫秒进行一次输入 逻辑 画面的运输和更新

 protected Game() {
  super(true);//实现父类的构造函数

Start();//开始游戏线程的代码在这个方法里
  
 }
 public void Start(){
  running=true;//将游戏开关设置为开
  Thread thread=new Thread(this);
  thread.start();                /   /这段代码执行后系统会调用run函数中的代码
 }

 public void run() {
  long t1=System.currentTimeMillis();
  long t2                  //定义两个long控制时间
  while(true){
   t2=System.currentTimeMillis();
   if(t2-t1>mytiem){                             

              t1=System.currentTimeMillis();
               Input();                     //处理游戏中的输入事件
                Logic();                        //控制游戏的各种逻辑
              Paint();                      //按照要求绘画出游戏画面
   }
  }
 } 
 public void Stop(){
running=false;
 }

 private void Input(){
  int keystate=getKeyStates();             //
   if((keyState&GameCanvas.UP_PRESSED)!=0)                         {//当这个式子成立时代表   上键被按下  这GameCanvas

                                                                                                                       //里代表方向键的上 和数字键的 2

                            //这里输入当 上 被按下时要处理的事件  其他的按钮在eclipse里用 GameCanvas.就能自己显示同样
    }
 }
 private void Logic(){

///处理游戏自身逻辑
 }
 private void Paint(){
  Graphics g=getGraphics();//g可以理解成是一个画布的缓存 将要显示的东西都写在g里 通过flushGraphics()函数一次显示
  
   flushGraphics();
 }

 
 
}
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值