📄 gamemidlet.java
字号:
package src;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class GameMIDlet extends MIDlet implements CommandListener{
public Display display = null;
private PlayCanvas playCanvas = null;
private Splash splash = null;
private HighScoreCanvas highScoreCanvas = null;
public static SoundControl soundControl = null;
private Command pauseCommand = null;
private Command exitCommand = null;
private GameOverCanvas gameOverCanvas = null;
public GameMIDlet()
{
display = Display.getDisplay(this);
playCanvas = new PlayCanvas(false,this);
splash = new Splash(this);
highScoreCanvas = new HighScoreCanvas(this);
gameOverCanvas = new GameOverCanvas(this);
soundControl = new SoundControl();
CANVAS_WIDTH = playCanvas.getWidth();
CANVAS_HEIGHT = playCanvas.getHeight();
pauseCommand = new Command("暂停/继续",Command.STOP,0);
exitCommand = new Command("退出",Command.EXIT,0);
playCanvas.addCommand(pauseCommand);
playCanvas.addCommand(exitCommand);
playCanvas.setCommandListener(this);
}
protected void destroyApp(boolean arg0) throws MIDletStateChangeException {
// TODO 自动生成方法存根
}
protected void pauseApp() {
// TODO 自动生成方法存根
}
protected void startApp() throws MIDletStateChangeException {
// TODO 自动生成方法存根
splash.showMe();
}
public void setDisplayable(Displayable displayable)
{
display.setCurrent(displayable);
}
public PlayCanvas getPlayCanvas()
{
return playCanvas;
}
public HighScoreCanvas getHighScoreCanvas()
{
return highScoreCanvas;
}
public void startGame()
{
display.setCurrent(playCanvas);
playCanvas.start();
}
public void restartGame()
{
playCanvas.getBackGroundLayer().DOWN_HEIGHT = 0;
playCanvas.getRectangleLayer().initLocation();
playCanvas.getPlayerLayer().SPEED_INCREASE = 0;
PLAYER_LIFE = 50;
display.setCurrent(playCanvas);
playCanvas.pause();
}
public void pauseGame()
{
playCanvas.pause();
soundControl.pauseSound();
}
public void gameOver()
{
pauseGame();
highScoreCanvas.updateHiScores(playCanvas.getBackGroundLayer().floorsCount);
highScoreCanvas.writeHiScores();
gameOverCanvas.showMe();
}
public void exitGame()
{
try{
destroyApp(true);
}catch(MIDletStateChangeException e){
e.printStackTrace();
}
notifyDestroyed();
}
public void commandAction(Command c, Displayable d) {
// TODO Auto-generated method stub
if(c.getCommandType()==Command.EXIT){
exitGame();
}
else if(c.getCommandType()==Command.STOP)
{
pauseGame();
}
}
public final static int MOVE_UP_SPEED = 2;
public final static int MOVE_DOWN_SPEED = 3;
public final static int MOVE_X_SPEED = 6;
public final static int SPLASH_TIME = 3000;
public final static String SKIP_SPLASH_TIP = "按任意键开始游戏";
public final static int ALERT_TIME = 3500;
public static int CANVAS_WIDTH = 240;
public static int CANVAS_HEIGHT = 290;
public static int PLAYER_LIFE = 50;
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -