📄 gamemidlet.java
字号:
import javax.microedition.midlet.*;import javax.microedition.lcdui.*;public class GameMidlet extends MIDlet { public OptionScreen option; private NetForm netForm; private NetForm2 netForm2; private TankCanvas tankCanvas; private BattleCanvas battleCanvas; private NetBattleCanvas netBattleCanvas; private DemoGameCanvas canvas; private Thread tankCanvasThread; private Thread battleCanvasThread; private Thread netBattleCanvasThread; public int chooseLevel = 1; public void startApp() { option = new OptionScreen(this); netForm = new NetForm(this); netForm2 = new NetForm2(this); tankCanvas = new TankCanvas(this); tankCanvasThread = new Thread(tankCanvas); tankCanvasThread.setPriority(4); tankCanvasThread.start(); Display.getDisplay(this).setCurrent(tankCanvas); } public void pauseApp() { System.out.print("pauseAppd"); } public void destroyApp(boolean unconditional) {//关机调用(如果真正游戏时按,则另做什么) if (battleCanvas != null) {//正在游戏 battleCanvas.gameOver(); } tankCanvasThread = null; battleCanvasThread = null; tankCanvas = null; battleCanvas = null; notifyDestroyed(); } public void newGame() { try { Thread.sleep(1000);//让原本的坦克子弹等线程都终止(或许有些还没有终止,待改进) } catch (InterruptedException e) { } BattleCanvas.gameover = false; BulletSprite.gameover = false; UserSprite.gameover = false; EnemySprite.gameover = false; EnemySprite.enemyNum = 6; EnemyManager.gameover = false; KingSprite.gameover = false; TentSprite.gameover = false; TalismanSprite.gameover = false; PetSprite.gameover = false; BattleCanvas.setInterrupt(false); TentSprite.setInterrupt(false); KingSprite.setInterrupt(false); BulletSprite.setInterrupt(false); EnemySprite.setInterrupt(false); EnemyManager.setInterrupt(false); UserSprite.setInterrupt(false); TalismanSprite.setInterrupt(false); PetSprite.setInterrupt(false); BattleCanvas.level = chooseLevel;//游戏开始,关卡是选择的那个 battleCanvas = new BattleCanvas(this); battleCanvasThread = new Thread(battleCanvas); battleCanvasThread.setPriority(Thread.MAX_PRIORITY - 1); battleCanvasThread.start(); Display.getDisplay(this).setCurrent(battleCanvas); } public void newNetGame(boolean isServer) { try { Thread.sleep(1000);//让原本的坦克子弹等线程都终止(或许有些还没有终止,待改进) } catch (InterruptedException e) { } NetBattleCanvas.gameover = false; NetBulletSprite.gameover = false; NetUserSprite.gameover = false; NetEnemySprite.gameover = false; NetEnemySprite.enemyNum = 6; NetKingSprite.gameover = false; NetTentSprite.gameover = false; NetTalismanSprite.gameover = false; NetPetSprite.gameover = false; NetBattleCanvas.setInterrupt(false); NetTentSprite.setInterrupt(false); NetKingSprite.setInterrupt(false); NetBulletSprite.setInterrupt(false); NetEnemySprite.setInterrupt(false); NetUserSprite.setInterrupt(false); NetTalismanSprite.setInterrupt(false); NetPetSprite.setInterrupt(false); NetBattleCanvas.level = chooseLevel;//游戏开始,关卡是选择的那个 netBattleCanvas = new NetBattleCanvas(this, isServer); netBattleCanvasThread = new Thread(netBattleCanvas); netBattleCanvasThread.setPriority(Thread.MAX_PRIORITY - 1); netBattleCanvasThread.start(); Display.getDisplay(this).setCurrent(netBattleCanvas); } public void newNetGame2(boolean isServer) { canvas = new DemoGameCanvas(isServer,this); canvas.start(); Display.getDisplay(this).setCurrent(canvas); } public void displayBattleCanvas() {//被Option调用 if (this.battleCanvas.pressStop != true) {//是否按下了暂停,没有按暂停才恢复 Sound.instance.resumeBack(); BattleCanvas.interrupt = false; TentSprite.setInterrupt(false); KingSprite.setInterrupt(false); BulletSprite.setInterrupt(false); EnemySprite.setInterrupt(false); EnemyManager.setInterrupt(false); UserSprite.setInterrupt(false); TalismanSprite.setInterrupt(false); PetSprite.setInterrupt(false); } Display.getDisplay(this).setCurrent(battleCanvas); } public void displayNetBattleCanvas() {//被Option调用 if (this.netBattleCanvas.pressStop != true) {//是否按下了暂停,没有按暂停才恢复 Sound.instance.resumeBack(); NetBattleCanvas.interrupt = false; NetTentSprite.setInterrupt(false); NetKingSprite.setInterrupt(false); NetBulletSprite.setInterrupt(false); NetEnemySprite.setInterrupt(false); NetUserSprite.setInterrupt(false); NetTalismanSprite.setInterrupt(false); NetPetSprite.setInterrupt(false); } Display.getDisplay(this).setCurrent(netBattleCanvas); } public void gameMenuCanvasBack() { battleCanvas = null; battleCanvasThread = null; canvas = null; //notifyDestroyed(); Display.getDisplay(this).setCurrent(tankCanvas); } public void gameInstruction() { Display.getDisplay(this).setCurrent(new Instruction(this)); } public void gameOption() { Display.getDisplay(this).setCurrent(option); } public void gameNetForm() { Display.getDisplay(this).setCurrent(netForm); } public void setMusic(int music) { Sound.instance.setMusic1(music); } public void gameNetForm2() { Display.getDisplay(this).setCurrent(netForm2); } // public void quit() { // destroyApp(true); // notifyDestroyed(); // } // }
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -