GameCanvas类
继承于MIDP 1.0的Canvas类的GameCanvas是一个提供了游戏的基本接口的抽象类,除了完全具备原来Canvas类的功能外,还提供了更多开发游戏的便利,主要为:提供屏幕缓冲绘制机制,并能直接得到设备键盘的物理状态。
GameCanvas概述
GameCanvas(游戏画布)对象能够提供画布的功能,类的定义为:
public abstract class GameCanvas extends Canvas
GameCanvas类是在Canvas类的基础上派生的,并在此之上增加双缓冲和随时查询按键状态的功能。 因为游戏画布类被定义为虚类,所以必须派生新类。GameCanvas类包含的方法如表3-1所示。
类GameCanvas方法说明
方 法 名 称 | 方法原型与作用 |
GameCanvas | protected GameCanvas(boolean suppressKeyEvents) 构造方法,参数 suppressKeyEvents 表示是否需要处理游戏按键之外的其他按键事件。例如数字键,如果此参数为false,那么按键事件处理方法keyPressed、 keyRepeated、keyReleased在程序运行过程中不会被调用,这样可以提高速度和性能 |
getGraphics | protected Graphics getGraphics( ) 得到画布中脱机屏幕上用于绘制的 Graphics 对象 |
flushGraphics | public void flushGraphics( ) 要求刷新屏幕,这时脱机屏幕上的图像会被绘制到真实屏幕上 |
flushGraphics | public void flushGraphics(int x, int y, int width, int height) 要求刷新屏幕上指定区域,这时脱机屏幕上指定区域的图像会被绘制到真实屏幕上 |
getKeyStates | public int getKeyStates() 得到当前按键状态 |
例子:
TestGameCanvas.java
TestGameCanvasMidlet.java
运行结果: