J2ME手机游戏引擎程序架构(1)(2)
2、Displayable是游戏的显示效果核心,在J2ME游戏设计中使用GameCanvas类完成游戏画布工作,设计类继承GameCanvas来实现游戏核心模块,通常将游戏主循环放置于该类中实现整个游戏的控制,因此在继承GameCanvas的同时还需要实现循环Runnable接口。
- public class Game Canvas Test extends Game
- Canvas implements Runnable{
- //声明变量.......
- publicGameCanvasTest(MIDletmidlet)
- {
- super(true);
- //初始化变量.......
- }
- publicvoidrun(){
- keyPressed(getKeyStates());
- spritePixel();
- drawCanvas();
- //其他方法以及处理.......
- }
- protectedvoidkeyPressed(intkeyCode){
- //按键处理.......
- }
- publicvoidspritePixel(){
- //精灵以及地图坐标变幻控制......
- }
- publicvoiddrawCanvas(){
- //根据坐标变化重绘画面处理........
- }
- }
GameCanvasTest类中完成了游戏主干部分,包括键盘按键事件处理、坐标变化、画面重绘,当然游戏精灵跟地图背景也在该类中定义,并使用LayerManager进行管理。
以上是一般的游戏架构,当然,在较复杂的游戏设计里面,使用以上架构将会较麻烦,使得程序不清晰。因此在程序设计中可以采用MVC模式来构建游戏引擎,将各部分抽象出来不同的层(分别为UI显示、线程控制以及输入监控等调度、精灵等游戏具体模型)去完成各自的功能,从而提高软件的可读性跟可维护性。
- 上一篇:J2ME应用程序架构模型详解
- 下一篇:探究两种JS浮点溢出解决方案