設計抽象『屏幕』SCREEN類.為以後屏幕設計提供模板.update()更新所有對像.而present()則負責渲染. deltaTime為每次調用時間間隔. pause()與resume()當遊戲『暫停』與『恢復』時調用. 而dispose()則在遊戲退出時銷毀所有資源.釋放『記憶體』並保存設置.
public abstract class SCREEN {
public abstract void update(float deltaTime);// 更新
public abstract void present(float deltaTime);// 渲染
public abstract void pause();// 暫停
public abstract void resume();// 恢復
public abstract void dispose();// 清除/銷毀
public abstract boolean back();//檢查返會鍵
}
另需要『屏幕切換系統』GAME.每當設換屏幕時首先『暫停』然後『銷毀』資源並保存設置.然後設定新屏幕並『恢復』與『更新』.
public class GAME {
static private SCREEN screen = null;// 當前屏幕
設置當前屏幕
static public void setCurrentScreen(SCREEN newScreen){
if(screen != null){
screen.pause();// 暫停
screen.dispose();// 銷毀
}
screen = newScreen;
screen.resume();// 恢復
screen.update(0);// 更新
}
獲取當前屏幕
static public SCREEN getCurrentScreen() {
return screen;
}
}