⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 jump_midlet.java

📁 本光盘是《J2ME无线移动游戏开发》一书的配套光盘
💻 JAVA
字号:
package ch09;

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class Jump_MIDlet
    extends MIDlet
    implements CommandListener {
  //声明一个退出按钮
  private Command myExitCommand = new Command("退出", Command.EXIT, 99);

  //声明一个开始按钮
  private Command myGoCommand = new Command("开始", Command.SCREEN, 1);

  //声明一个暂停按钮
  private Command myPauseCommand = new Command("暂停", Command.SCREEN, 1);

  //声明一个重玩按钮
  private Command myNewCommand = new Command("重玩", Command.SCREEN, 1);

  //声明一个负责绘制游戏的GameCanvas对象
  JumpCanvas myCanvas;

  //声明一个控制游戏进程的线程
  GameThread myGameThread;

  /*
    1.构造器
   */
  public Jump_MIDlet() {
    myCanvas = new JumpCanvas(this);
    myCanvas.addCommand(myExitCommand);
    myCanvas.addCommand(myGoCommand);
    myCanvas.setCommandListener(this);
  }

  /*
    2.启动应用程序
   */
  public void startApp() throws MIDletStateChangeException {
    myGameThread = new GameThread(myCanvas);
    myCanvas.start();
  }

  /*
    3.挂起应用程序
   */
  public void pauseApp() {
    setGoCommand();
    myGameThread.pause();
  }

  /*
    4.撤销应用程序
   */
  public void destroyApp(boolean unconditional) throws
      MIDletStateChangeException {
    myGameThread.requestStop();
    myGameThread = null;
    myCanvas = null;
    System.gc();
  }

  /*
   5.响应按钮事件
   */
  public void commandAction(Command c, Displayable s) {
    if (c == myGoCommand) {
      myCanvas.removeCommand(myGoCommand);
      myCanvas.addCommand(myPauseCommand);
      myGameThread.go();
    }
    else if (c == myPauseCommand) {
      myCanvas.removeCommand(myPauseCommand);
      myCanvas.addCommand(myGoCommand);
      myGameThread.go();
    }
    else if (c == myNewCommand) {
      myCanvas.removeCommand(myNewCommand);
      myCanvas.addCommand(myGoCommand);
      myGameThread.requestStop();
      myGameThread = new GameThread(myCanvas);
      System.gc();
      myCanvas.reset();
    }
    else if (c == myExitCommand) {
      try {
        destroyApp(false);
        notifyDestroyed();
      }
      catch (MIDletStateChangeException ex) {
      }
    }
  }

  /*
   6.设置开始游戏按钮
   */
  void setGoCommand() {
    myCanvas.removeCommand(myPauseCommand);
    myCanvas.removeCommand(myNewCommand);
    myCanvas.addCommand(myGoCommand);
  }

  /*
   7.设置暂停按钮
   */
  void setPauseCommand() {
    myCanvas.removeCommand(myNewCommand);
    myCanvas.removeCommand(myGoCommand);
    myCanvas.addCommand(myPauseCommand);
  }

  /*
   8.设置重玩按钮
   */
  void setNewCommand() {
    myCanvas.removeCommand(myPauseCommand);
    myCanvas.removeCommand(myGoCommand);
    myCanvas.addCommand(myNewCommand);
  }

}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -