MIDP游戏编程-公开课件(讲义).pptVIP

  1. 1、本文档共16页,可阅读全部内容。
  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手机游戏开发技术 第七章 MIDP2.0游戏开发 第七章 MIDP2.0游戏开发 MIDP2.0游戏开发新特性 第七章 MIDP2.0游戏开发 MIDP2.0游戏开发新特性 第七章 MIDP2.0游戏开发 MIDP2.0游戏开发新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 MIDP2.0新特性 GameCanvas 第七章 MIDP2.0游戏开发 小结 第七章 MIDP2.0游戏开发 小测验 第七章 MIDP2.0游戏开发 课后作业 第七章 MIDP2.0游戏开发 专业教程 理论讲解部分 MIDP2.0 中对于游戏支持的功能有下面几类: FullScreen (全屏)模式的支持。 透明PNG 图像支持。 专门为游戏开发提供的 GameCanvas 类,能够使用脱机屏幕缓冲区。 按键状态查询。 TiledLayer (图层分块)支持。 Sprite (精灵)支持。 Canvas GameCanvas LayerManager Layer Sprite TiledLayer GameCanvas相对于Canvas的增强点: 1.全屏模式 2.按键状态检测 3.内置双缓冲 GameCanvas包含的方法: 脱屏缓冲区 GameCanvas对象在创建时会创建一个脱机的屏幕,这个屏幕和显示在设备上的屏幕是分离的。作图时也只能在脱机的屏幕上作图,然后才能将脱机屏幕拷贝并显示到设备屏幕上,所以为了能够刷新屏幕,就需要在程序中启动定时器定期重绘并刷新屏幕 。 键盘事件 可以利用 Canvas 类原有的处理按键事件的方法,也可以利用主动查询按键情况的方法来获取哪些键被按下。但是通过后一种方法只能查询到与游戏相关的按键 键盘事件:如果要检查特定的按键是否被按下,就需要检查将 getKeyStates( ) 返回的值与这些键值进行按位与()运算,并根据计算结果来判断。 GameCanvas示例 范例见GameCanvasTest.java 范例通过 GameCanvas 派生新类MyGameCanvas,在MyGameCanvas中可以用方向键控制方块移动,用A、B、C、D键来改变方块的颜色。此外,创建一个定时器任务类 MyTask,定期调用MyGameCanvas类的 action 方法,检查键盘按键情况和对屏幕进行重绘。最后通过MIDlet 派生类处理程序的启动和退出,在程序启动时创建定时器。 程序没有paint方法,因为在MIDP2.0不是必须在paint中绘图,可以把绘图的程序放在线程中。 程序中也没有keyPressed方法,因为在MIDP2.0中可以把按键检测事件放在线程中处理。 GameCanvas示例: public void Action() { //判断上下左右键是否被按下 …… //绘制新的方块 //g.setColor(curColor); g.setColor(0,0,0); g.fillRect(currentX, currentY, 3, 3); flushGraphics(); } 代码讲解 前面的代码段中flushGraphics()的作用是把脱屏缓冲区的内容显示在屏幕上。 GameCanvas示例(按键处理): public void Action() { int keyState = getKeyStates(); //判断上下左右键是否被按下 if ((keyState UP_PRESSED) != 0 currentY 0) currentY--; if ((keyState DOWN_PRESSED) != 0 currentY maxY)currentY++; if ((keyState LEFT_PRESSED) != 0 currentX 0)currentX--; if ((keyState RIGHT_PRESSED) != 0 currentX maxX)currentX+

文档评论(0)

小米兰 + 关注
实名认证
文档贡献者

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

1亿VIP精品文档

相关文档