使用J2ME Polish进行游戏编程.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 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 MyGameCanvas extends javax.microedition.lcdui.game.GameCanvas implements 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 MyGameCanvas extends GameCanvas implements 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

您可能关注的文档

文档评论(0)

ligennv1314 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档