J2ME Game游戏开发包介绍

来源:互联网 发布:卡尔加里 知乎 编辑:程序博客网 时间:2024/05/01 00:12

随着手机游戏的广泛应用,MIDP 2.0提供了新的游戏开发包"javax.microedition.lcdui.game",这是MIDP 2.0相对于1.0而言最大的变化。这个开发包提供了一些基本的游戏API,可以很方便的实现游戏背景和前景的绘制,同时提供了一些简单的人物碰撞检测函数。由于无线设备仅有有限的计算能力,因此许多API 的目的在于提高Java 游戏的性能,并且把原来很多需要手动编写的代码如屏幕双缓冲、图像剪裁等都交给API 间接调用本地代码来实现。各厂家有相当大的自由来优化它们。

游戏API 使用了MIDP 的低级图形类接口(Graphics,Image等等)。整个game 包仅有5个Class:

GameCanvas
这个类是Canvas类的子类,为游戏提供了基本的"屏幕"功能。除了从Canvas 继承下来的方法外,这个类还提供了游戏专用的功能,如查询当前游戏键状态的能力,同步图像输出;这些功能简化了游戏开发并提高了性能。
这个类与Canvas 类相比有两个优点:1。它拥有屏幕缓冲,2。它可以直接得到设备键盘的物理状态。

Layer
Layer
类代表游戏中的一个可视化元素,例如Sprite TiledLayer 是它的子类;这个抽象类搭好了层(Layer)的基本框架并提供了一些基本的属性,如位置,大小,可视与否。出于优化的考虑,不允许直接产生Layer 的子类(不能包外继承)

LayerManager
对于有着许多Layer 的游戏而言,LayerManager 通过实现分层次的自动渲染,从而简化了游戏开发。它允许开发者设置一个可视窗口(View Window),表示用户在游戏中可见的窗口;LayerManager 自动渲染游戏中的Layer,从而实现期望的视图效果。
LayerManager
负责管理Layer对象,并且按照指定的顺序画他们。

Sprite
Sprite
又称精灵”,也是一种Layer,可以显示一帧或多帧的连续图像。但所有的帧都是相同大小的,并且由一个Image 对象提供。Sprite 通过循环显示每一帧,可以实现任意顺序的动画;Sprite 类还提供了许多变换(翻转和旋转)模式和碰撞检测方法,能大大简化游戏逻辑的实现。

TiledLayer
TiledLayer
又称砖块”,这个类允许开发者在不必使用非常大的Image对象的情况下创建一个大的图像内容。TiledLayer 有许多单元格构成,每个单元格能显示由一个单一Image 对象提供的一组贴图中的某一个贴图。单元格也能被动画贴图填充,动画贴图的内容能非常迅速地变化;这个功能对于动画显示非常大的一组单元格非常有用,例如一个充满水的动态区域。
TiledLayer
更多的被用来创建背景,比如赛道或者其他更大的区域.
 

原创粉丝点击