?? controller.java
字號:
/*
* Author: Huang ye(www.hyweb.net)
* 代碼開源, 引用請注明出處
*
* 創建日期 2005-3-9
*
* TODO 要更改此生成的文件的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
package net.hyweb;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Alert;
import javax.microedition.lcdui.AlertType;
import javax.microedition.midlet.MIDletStateChangeException;
/**
* @author user
*
* TODO 要更改此生成的類型注釋的模板,請轉至
* 窗口 - 首選項 - Java - 代碼樣式 - 代碼模板
*/
public class Controller {
private SubMIDlet subMIDlet;
private SubCanvas subCanvas;
private MenuUI menuUI;
private Display display;
public static final byte EVENT_START = 01;
public static final byte EVENT_ABOUT = 02;
public static final byte EVENT_EXIT = 03;
public static final byte EVENT_MENU = 101;
public static final byte EVENT_MENU_GAMEOVER = 102;
public static final byte EVENT_NEXTROUND = 103;
public Controller(SubMIDlet subMIDlet){
this.subMIDlet = subMIDlet;
display = Display.getDisplay(subMIDlet);
menuUI = new MenuUI(this);
this.EventHandler(EVENT_MENU);
}
public void EventHandler(byte eventID){
switch(eventID){
case EVENT_START:{
//開始游戲
if(subCanvas == null){
subCanvas = new SubCanvas(this);
}else{
}
display.setCurrent(subCanvas);
break;
}
case EVENT_ABOUT:{
//說明文件
Alert alert = new Alert("About", "This is a Demo Edition Game developed by Huangye.", null, AlertType.INFO);
alert.setTimeout(3000);
display.setCurrent(alert, menuUI);
break;
}
case EVENT_NEXTROUND:{
//開啟一個新的線程,顯示下一輪字樣
//原先畫布線程則更換地圖信息
Thread t = new Thread(){
public void run(){
StringBuffer sbf = new StringBuffer("Round " + (SubCanvas.PLAYER_LEVEL));
display.setCurrent(new InfoCanvas(sbf){});
try {
Thread.sleep(2000);
} catch (InterruptedException e) {
e.printStackTrace();
}
display.setCurrent(subCanvas);
subCanvas.active();
}
};
t.start();
break;
}
case EVENT_EXIT:{
//退出程序
try {
subMIDlet.destroyApp(false);
subMIDlet.notifyDestroyed();
} catch (MIDletStateChangeException e) {
e.printStackTrace();
}
break;
}
case EVENT_MENU:{
display.setCurrent(menuUI);
break;
}
case EVENT_MENU_GAMEOVER:{
StringBuffer sbf = new StringBuffer("Game Over");
display.setCurrent(new InfoCanvas(sbf){});
subCanvas = null;
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
e.printStackTrace();
}
display.setCurrent(menuUI);
break;
}
default:
break;
}
}
}
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -