您的位置:首页 >> 编程开发 >> Java >> JDK核心API >> 正文
RSS
 

KJAVA MIDP 2.0: The Game API快速入门

http://www.rdxx.com 03年08月23日 12:12 Blog 我要投稿

关键词: 快速入门 , MIDP , Kjava , API , 入门 , Java

MIDP 2.0: The Game API

by Mikko Kontio
-01/09/2003

 

翻译: bolow

MIDP 2.0 移动设备提供了众多新的特性,主要表现在媒体的支持,增强的 Ui 接口,更多的网络协议 OTA 以及安全性等方面。然而最让我们感兴趣的是游戏 api 的新特性。本文意在通过一些例子来介绍新的游戏 API 类及其用法。例子调试环境为 J2ME Wireless Toolkit 2.0 Beta.

游戏 API

游戏 API 帮助开发者 ( 游戏开发者或者其他需要更好 ui 界面的开发者 ) 帮助用户快速开发实用并且节省内存以及存储空间的程序界面。 使用 MIDP 1.0 game 开发者必须定义自己的一套图像类来获得好的界面及程序性能 ,这必然会增加程序存储方面的开销,使你的 jar 文件变得更大。新的游戏 api 可以解决这些问题。

游戏 API 的基本思想是游戏界面由图层组成。背景可以在一个图层上,而游戏人物可以在另一个图层上。 每一个图层都可以分别被 游戏 API 控制。 按照经验,游戏的额场景通常会比手机的屏幕大,所以在传统的方法中控制屏幕的滚动是一件很痛苦的事情。 新的游戏 API 一个新的观察窗口( view window ),通过它可以看到所有的游戏场景,并且它可以很容易的被移动很定位。

游戏 API 的路径为 javax.microedition.lcdui.game 。这五个新的类是: GameCanvas , Layer , LayerManager , Sprite , TiledLayer .

  GameCanvas 是一个提供了游戏的基本接口的抽象类。这个类与 Canvas 类相比有两个优点: 1 。它拥有屏幕缓冲, 2 。它可以直接得到设备键盘的物理状态。

Layer 是一个定义了游戏元素的抽象类。 Sprite TiledLayer 继承了这个类。 Layer 是一个非常常用的类。

  LayerManager 负责管理 Layer 对象,并且按照指定的顺序画他们。

  Sprite 包含了若干帧图像的 Layer 。这些帧保存在 Image 对象中。 通过 Sprite类我们可以只使用其中的部分帧,或者通过播放一个帧的序列来创建一个动画。 Sprite类还能检查它是否与其他的Sprite类 或者 TiledLayers 有重合。

  TiledLayer Sprite有点相似,但是它更多的被用来创建背景,比如赛道或者其他更大的区域。TiledLayer 包含一个表格( a grid of cells , 我们可以用图像或者文字来填充他。所以说一个背景或者一个场景是可以用一系列的小图片来创建的。

Handling user input

MIDP 2.0 中,传递用户的输入与 MIDP 1.0 有所不同 . 1.0 中你需要 Canvas的 getGameAction()方法 来得到游戏中用户的按键。 2.0 中你可以调用 GameCanvas getKeyStates() 方法来直接得到键盘的状态。

下面是一个示例代码。 首先我们得到键盘的状态 ,然后通过 bit操作判断方向键的状态后作出相应的响应。

	
				 
				

	protected void keyPressed(int keyCode) {
				

	
				  int move = 0;
				

	 
				

	
				  int keyState = getKeyStates();
				

	
				  if ((keyState & LEFT_PRESSED) != 0) {
				
共4页  第1页 第2页 第3页 第4页

 
 
标签: 快速入门 , MIDP , Kjava , API , 入门 , Java 打印本文
 
 
  热点搜索
 
 
 



Valid XHTML 1.0 Transitional
Copyright ©2005 - 2008 Rdxx.Com,All Rights Reserved