📄 jump_midlet.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 + -