JAVA172基于J2ME手机游戏的开发-BeckhamG
oal
----------------------------------------------------------------------------------------------------------------------------发表日期:2010年11月3日共浏览19次出处:本站
原创【购买方式】【联系
方式】【关闭窗口】-----------------------------------------------------------------------------------------------------------------------------
课题名称:JAVA172基于J2ME手机游戏的开发手机游戏的开发-BeckhamGoal2.3J2ME游戏开发基础相关2.3.1基于精灵的动画在众多游戏中使用的功能更加强大的动画技术是基于角色的动画,也叫做精灵动画(spriteanimation),基于角色的动画就是图形对象可以独立于背景移动。基于角色的动画中的每一个图形对象都叫做一个精灵,并且它的位置可以随着时间而变化。也就是一个精灵具有一个相关的速率,可以决定它的位置如何随着时间而变化。现在几乎所有的视频游戏都要在某种程度上使用精灵。在MIDP1.0中,我们必须自己用专门的类来实现Sprite,但是MIDP2.0为Sprite提供了强力支持,可以创建静态,动态,不透明和透明的Sprite。(本游戏的MIDP为2.0)MIDP2.0API包含了对精灵动画的支持。在MIDP编程中,使得精灵动画成为可能的两个主要的类是Layer类和Sprite类。Layer类对一个叫做图层(Layer)的通用图形对象的建模,该对象充当精灵和其他图形游戏对象的基础。Layer类跟踪一个可视元素的位置、高度、宽度和可见性等信息。2.3.2GameCanvas类来实现平稳动画在游戏
设计过程中。对于游戏开发人员比较头痛的
问题的。当你用常规的MIDPCanvas类来构建一个具有动画功能的MIDlet,往往会出现令人讨厌的抖动。这种抖动是因为游戏屏幕在动画图像绘制之前被清除过。也就是动画的图形对象在每次被移动前都进行擦除和重绘。由于擦除和重绘过程都是直接发生在游戏屏幕上的,所以动画看上去就是抖动的。现在大多数都可以使用一种叫双缓冲的技术来解决和精灵动画相关的抖动问题。在双缓冲技术中,你可以在一个用户不可见的屏幕外绘图表面来进行擦除和重绘操作。当所有的绘图
工作完成后,最终的
结果再直接绘制到游戏屏幕上。由于所发生的擦除并不可见。最终的结果也就是无抖动的动画。除了标准的Canvas类,MIDPAPI还提供了支持双缓冲图形的GameCanvas类。为了使用GameCanvas类的这一优势功能,我们只需要从GameCanvas类派生我们的具体的游戏画布,并且像在一个普通MIDlet中一样绘制图形。但是,我们所执行的所有绘制实际上是在屏幕外缓冲区进行的。为了让屏幕外的绘制提交到实际的屏幕上,你必须调用flushGraphisc()方法。2.3.3图形坐标所有图形计算
系统使用某种图形坐标系来指定窗口或屏幕上的点的分布。图形坐标系通常指明系统的原点(0,0)、数轴,以及每条轴上数值递增的方向。MIDP图形依靠一个相似的坐标系来说明如何以及从那里开始绘图操作。因为在MIDlet中所有的绘图都在画布(canvas)中,所以MIDP的坐标系也同画布有关。MIDP坐标系的原点在画布的左上角,值向右增加,值向下增加。MIDPXY在坐标系中,所有的值都是正整数。2.3.4检测对象之间的冲突冲突检测是确定游戏中的移动物体是否相互冲突的一种方法。尽管冲突检测对于动画效果的产生并没有起到直接的作用,但是,它和移动中物体的动画密切相关并且对游戏至关重要。冲突检测用来确定游戏中移动物体之间何时会发生物理的相互作用。在游戏中则是当两个移动物体发生冲撞后,冲突检测就可以用来检测移动物体之间是否冲撞的机制,简单来说就是比较移动物体之间的位置是否发生了重叠。简单的方法就是比较每个移动物体的矩形边界和所有其他的移动物体的矩形边界,这种方法的效率很高,但是当检测对象不是矩形的时候,由于只是相互之间透明区域重叠而会导致检测认为是边角的重叠引起的冲突。对于这种情况的改进方法是将冲突矩形缩小,或者是根据游戏中的移动物体图像数据来检测冲突,该方法实际上就是查看移动物体的透明区域是否重合或者移动物体图像本身是否重合。2.4
常用开发工具及其配置与使用WirelessToolkit(简称WTK)是由Sun设计的MIDP应用
程序开发工具,虽然功能不如商业版的IDE强大,但是对于编译、仿真以及调试而言,算是一个非常实用的工具。KToolbar是一个可视化的开发环境,它使你能够通过一个图形用户界面来创建,编辑,打包和测试J2ME应用程序。WirelessToolkit开发工具共分为四个部分,分别是功能菜单、快捷按钮、信息输出窗口与仿真器。功能菜单包括四个项目:File、Edit、Project与J2ME手机游戏的开发-BeckhamGoal摘要J2ME(
Java2MicroEdition)是近年来随着各种不同设备,尤其是移动
通信设备的飞速发展而诞生的一项新的开发技术。它定位在消费性电子产品的应用上,对设备的智能化、多样化,提供了革命性的解决
方案,并因其“WriteOnce,runanywhere”的Java特性而提高开发的效率。随着手机的日益普及、Java功能在移动设备上的实现,Java应用程序产生的手机增值服务逐渐体现出其影响力,对丰富人们的生活内容、提供快捷的资讯起着不可忽视的作用。本论文着眼于J2ME技术的应用,开发一款简单的手机游戏程序--BeckhamGoal。论文在分析了实现小游戏的相关基础技术及理论后,对该游戏进行了功能需求分析、模块划分及总体设计,解决了游戏中涉及的碰撞检查以及其他若干关键技术,最后在J2ME平台下实现了该小游戏,并通过验证达到预期的效果。