- 1、本文档共5页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
使用J2ME Polish进行游戏编程
使用J2ME Polish进行游戏编程
——优化J2ME Polish的游戏引擎
摘要:
J2ME Polish 游戏引擎为MIDP1.0的设备提供了完备的MIDP2.0游戏API。在这篇文章中,是从Robert Virkus的 Pro J2ME Polish 摘录的。你将学会通过设置各种预处理变量从而优化游戏引擎;在MIDP1.0平台游戏引擎受限的条件下开发以及通过使用低级图形操作、声音重放和设备控制的厂家特殊库,把MIDP2.0的游戏移植到MIDP1.0的平台上。
作者 Robert Virkus
游戏产业是J2ME最大的市场。当你编写J2ME应用时,很可能你就是在写游戏。游戏是移动Java的一个巨大的成功事例并且属于3G时代,预期移动领域的主要收入来源是游戏、博彩和女士。游戏市场增长的很快,估计2005年世界范围内将达到40亿美元。
Java社区进程网站针对游戏编程发布了更强的MIDP2.0标准,业界已经有所反应。不幸的是,当前主要的手机只是支持MIDP1.0标准。J2ME Polish的游戏引擎出现就是来解决这个问题的。在你学习这个章节时,你可以使用J2ME Polish 的游戏引擎快速地把MIDP2.0的游戏移植到MIDP1.0平台上。
使用该游戏引擎
使用MIDP2.0的游戏API编写游戏是很容易的。你可能使用了视窗的层管理器等等。当你为MIDP1.0开发游戏时,这些特性或许是你非常需要的。这就是为什么J2ME Polish 包含一个包装API,以使得你甚至在MIDP1.0设备上也能使用javax.microedition.lcdui.game.* API。这个游戏引擎使你再MIDP1.0设备上能够使用所有MIDP2.0游戏API。通常,当你使用合适的import声明,源代码是不需要做任何的修改。然而存在一些主要的限制,这些限制要求你调整代码,尤其是你无力使用像素级的冲突检测。此外,也不是所有的MIDP1.0平台支持这种魔法转换。在这片文章的后续章节“在游戏引擎受限下工作”中将讨论如何处理这些限制。
使用这个游戏引擎并不困难。当你移植到MIDP1.0的设备时,J2ME Polish 在你的代码里自动地编写包装类。通过交换import声明就可以完成这项工作。所以,你一定要使用合适的import声明,而不是使用类的全名。清单1展示了你不应该做的事情。
清单1. 不该如何使用游戏引擎
public class MyGameCanvasextends javax.microedition.lcdui.game.GameCanvasimplements Runnable{?? public MyGameCanvas(boolean supress) {??????super(supress);?? }?? public void run() {??????// main game-loop?? }}
当你移植清单1中的代码到MIDP1.0设备上时,该代码将无效。清单2演示了一个有效的例子,它使用了恰当的import声明。
清单2. 通过import语句恰当地使用了游戏引擎
import javax.microedition.lcdui.game.GameCanvas;public class MyGameCanvasextends GameCanvasimplements Runnable{?? public MyGameCanvas(boolean supress) {??????super(supress);?? }?? public void run() {??????// main game-loop?? }}
优化游戏引擎
通过在你的build.xml文件中的variables部分定义一些预处理变量,你可以调整游戏引擎。下面是可以达到的优化效果:
?使你的游戏达到全屏模式
?通过使用反向缓冲和平铺图片可以优化TiledLayer的性能
?增加可能平铺图片的数量
?通过执行不完善或者慢的游戏API来激活MIDP2.0设备的游戏引擎
全屏模式下运行游戏
通常你可能想在全屏模式下运行游戏。你可以通过在你项目的build.xml里使用build元素的fullscreen属性来实现。可取得值为true,false或者menu。menu模式允许你设计菜单,只是你得使用J2ME Polish GUI。
build元素的fullscreen属性使得所有的程序都可以在全屏模式下。如果你想在游戏中使用不同的设置,那就通过修改polish.GameCanvas.useFullScreen预处理变量,为GameCanvas定义特性的设置。可取得值仍然是true,fals
您可能关注的文档
- 产品成本直接费用的核算(doc 15页).doc
- 产品检验1.doc
- 产品适用的工作条件和工作环境1.doc
- 京东竞品销量算法最新大揭秘.docx
- 京山县抗旱能力现状及对策[管理资料].doc
- 亮氨酸检验操作规程.doc
- 人事制度汇编 (人力资源 人事制度 薪资考勤 招聘面试).doc
- 人事科5月份月度工作计划表.doc
- 人事管理系统(源代码.doc
- 人内脂素内脏脂肪素(visfatin)酶联免疫吸附测定试剂盒.doc
- 北师大版(2024)八年级数学上册课件 3.2 平面直角坐标系 第2课时 点的坐标特征.pptx
- 北师大版(2024)八年级数学上册课件 3.2 平面直角坐标系 第3课时 建立适当的平面直角坐标系.pptx
- 北师大版(2024)八年级数学上册课件 4.3 一次函数的图象 第1课时 正比例函数的图象及性质.pptx
- (人教A版数学选择性必修三)讲义第15讲7.1.1条件概率(学生版+解析).docx
- (人教A版数学选择性必修三)讲义第19讲8.1成对数据的统计相关性(8.1.1变量的相关关系+8.1.2样本相关系数)(学生版+解析).docx
- 北师大版(2024)八年级数学上册课件 5.2 二元一次方程组的解法 第2课时 加减消元法.pptx
- (人教A版数学选择性必修一)2025年秋季学期讲义第01讲1.1.1空间向量及其线性运算(学生版+教师版).docx
- 北师大版(2024)八年级数学上册课件 5.2 二元一次方程组的解法 第1课时 代入消元法.pptx
- 北师大版(2024)八年级数学上册课件 5.3 二元一次方程组的应用 第3课时 二元一次方程组的应用(3).pptx
- 北师大版(2024)八年级数学上册课件 5.4 二元一次方程与一次函数 第2课时 用二元一次方程组确定一次函数表达式.pptx
文档评论(0)