




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、china_ 第第10章章 J2ME游戏程序设计游戏程序设计 J2ME移动软件程序设计移动软件程序设计china_ 知识点:l 游戏开发概述l 游戏编程基本技术l 响应游戏中用户的按键l 使用重复按键l 实例本章导读: 本章详细介绍如何在游戏程序中响应用户输入;如何模拟实现连续按键;如何实现精灵的加速移动和连续移动;如何实现丰富多彩的屏幕显示效果;如何在支持透明图像和不支持透明图像的KVM平台上实现精灵的绘制;以及讨论网络游戏的设计。 J2ME移动软件程序设计移动软件程序设计china_ 10.1.1 在移动电话上开发游戏的限制在移动电话上开发游戏的限制 10.1 游戏开发概述游戏开发概述 l
2、 不能使用透明图像。l 不能抓取、拷贝和编辑屏幕上的图像。l 没有填充多边形和填充三角形的方法。l 不能将图像数据直接拷贝到屏幕上。l 不支持浮点运算。l 不能进行本地API调用。J2ME移动软件程序设计移动软件程序设计china_ 10.1.2 在移动电话上开发游戏的利端在移动电话上开发游戏的利端l 很多移动电话生产厂家正在研制将KVM固化在芯片上来提高J2ME的运行速度和减少KVM占用的存储空间。 l 一些支持J2ME的移动电话生产厂商计划在他们的手机中添加支持游戏的附加API以增强游戏的功能。l Java语言提供了自动内存垃圾搜集、面向对象支持的特色,可以极大地提高程序开发效率。 J2M
3、E移动软件程序设计移动软件程序设计china_ 10.2.1 MIDlet的基本结构的基本结构 10.2 游戏编程基本技术游戏编程基本技术 l 游戏程序是从javax.microedition.midlet类派生出来的。l 每个MIDlet包括三个必要的方法:startApp()、pauseApp()和destroyApp()方法。l 游戏MIDlet中通常需要在屏幕上绘制图形,这就必须使用Display对象。 J2ME移动软件程序设计移动软件程序设计china_ 10.2.2 使用使用Canvas对象绘制图形对象绘制图形 l 在Canvas对象中,必须实现paint()方法。l 在paint
4、()方法中使用drawArc()、drawImage()、drawLine()、drawRect()、drawString()、fillRect()等方法,可以在屏幕上绘制出用户需要的图形。 J2ME移动软件程序设计移动软件程序设计china_ 10.3.1 按键事件按键事件 10.3 响应游戏中用户的按键响应游戏中用户的按键 l 在MIDP中,每一个按键事件将产生一个按键代码。l 按键代码包括数字09、星号和井号。 l KEY_NUM0、KEY_NUM1、KEY_NUM2、KEY_NUM3、KEY_NUM4、KEY_NUM5、KEY_NUM6、KEY_NUM7、KEY_NUM8、KEY_NU
5、M9、KEY_STAR和KEY_POUND。J2ME移动软件程序设计移动软件程序设计china_ 10.3.2 游戏按键游戏按键 l 在MIDP中定义的游戏按键:DOWN、UP、LEFT、RIGHT、FIRE、GAME_A、GAME_B、GAME_C和GAME_D。l 上述游戏按键在不同的移动设备上是由不同的物理按键代表的。为了在程序中保证可移植性,就应该使用getGameAction()方法在物理按键和游戏按键之间转换。J2ME移动软件程序设计移动软件程序设计china_ 10.3.3 实例实例 l 响应键盘事件 实例,KeyEvent .javaJ2ME移动软件程序设计移动软件程序设计ch
6、ina_ 10.4.1 简述简述 10.4 使用重复按键使用重复按键l 重复按键功能实际上是当用户按下一个按键时就开始执行一个功能,直到用户释放按键为止。l 当按键一直没有释放时,这个功能将一直将被反复地执行,按键重复的频率在不同的设备中是不同的。l 在很多情况下程序中需要使用重复按键功能。如在射击类的游戏中,用户需要使用UP键移动游戏中的飞机向上飞行。l 通过MIDP的编程来模拟重复按键功能。J2ME移动软件程序设计移动软件程序设计china_ 10.4.2 判断系统是否支持重复按键判断系统是否支持重复按键 l 测 试 设 备 是 否 支 持 重 复 按 键 功 能 可 以 使 用hasRe
7、peatEvents()方法。 protected void keyRepeated(int keyCode) if (hasRepeatEvents() keyPressed(keyCode); J2ME移动软件程序设计移动软件程序设计china_ 10.4.3 模拟重复按键模拟重复按键 l 如果设备不支持重复按键功能,通过代码模拟重复按键。l (1)建立一个需要重复执行的任务。l(2)当按键被按下时,开始执行这一任务。l(3)以一定的频率反复执行这一任务。l(4)当按键释放时停止执行任务。l 实现重复按键代码,HappyFace2.java l 实现连续移动和加速移动代码,HappyFac
8、e3.java J2ME移动软件程序设计移动软件程序设计china_ 10.5 在程序中实现屏幕滚动在程序中实现屏幕滚动 l 用定时器实现重复按键l 使用定时器实现屏幕滚动l滚动效果是通过将一副图片放置在Canvas的不同位置来实现。图片的位置可以通过在Timer类中定时地调用TimerTask的run()方法来改变。l实例,ImageScrolle.java。 J2ME移动软件程序设计移动软件程序设计china_ 10.6 实现镜头的移动实现镜头的移动 l 屏幕滚动使用一个Timer来定时地移动屏幕。相当于读者坐在电影院里面看电影,人不动而画面在动。l 镜头移动是依据用户的按键来改变屏幕上显
9、示的内容。相当于读者坐在直升飞机上鸟瞰大地,大地不动而读者在动。l 镜头移动的实现包含在ImagePanner类中。l ActionListener和ActionUpdater接口被用来管理按键的重复。l 实例,Penning.java J2ME移动软件程序设计移动软件程序设计china_ 10.7.1 绘制精灵的困难绘制精灵的困难 10.7 在游戏程序中绘制精灵在游戏程序中绘制精灵 l 在标准的MIDP规范中仅支持PNG图形格式,不支持透明图形功能,而大多数厂商的手机都是遵循MIDP规范。 J2ME移动软件程序设计移动软件程序设计china_ l 两个单独的精灵图形 l 若空飞船飞到了UFO
10、的上面l 太空飞船和UFO重叠在一起的效果(支持透明图形)l 太空飞船和UFO重叠在一起的效果(不支持透明图形) l 由于不支持透明图形,当太空飞船和UFO重叠在一起时,太空飞船右上角的白色图形覆盖了UFO的一部分图形,导致图形失真。图10-1两个单独的精灵图形 图10-2支持透明图形图10-3不支持透明图形J2ME移动软件程序设计移动软件程序设计china_ 10.7.2 使用使用setClip()方法绘制精灵方法绘制精灵 l setClip()方法可以设置在屏幕上绘制图形的有效区域。只有在setClip()设置的有效区域内的屏幕才会被改变,而在setClip()设置以外的图形不会被改变。l 太空飞船的图形可以分解为两个部分,通过两个部分的重叠绘制就可以得到一个完整的太空飞船的图形。 图10-5太空飞船的绘制过程示意图 图10-6使用setClip()方法后的绘制效果 J2ME移动软件程序设计移动软件程序设计china_ 10.8 井字棋井字棋l 井字棋介绍:井字棋游戏由一个33的格子构成棋盘,每个格子都有一个数字,代表按下移动电话上的这个数字按键就可以在这个格子中放置一个棋子。当按下一个移动电话上的按键在一个格子中
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年事业单位招聘考试综合类专业能力测试试卷(艺术设计类)模拟试题高分技巧
- 2025年汽车维修工高级技师级(汽车排放)职业技能鉴定试卷
- 高效企业员工培训方案与实操指南
- 企业合规管理风险识别与整改
- 2025年美容师(初级)职业技能鉴定试卷:美容美发行业市场营销与
- 龙港小升初数学试卷
- 心内科知识培训内容记录课件
- 昌吉回族自治州2024-2025学年八年级上学期语文期中模拟试卷
- 博尔塔拉蒙古自治州2025-2026学年七年级下学期语文期末模拟试卷
- 毕节市2024-2025学年九年级下学期语文月考测试试卷
- 支气管炎护理
- 制药车间清洁操作培训
- 预见性护理及早期风险识别
- 妇科护理查房模板
- 2025劳动合同范本下载
- 亲职教育讲课内容
- 2025风电项目EPC总承包工程合同
- 《儒林外史》人物基本情况及形象分析
- 中学生传染病防治知识
- 菲林格尔维修人员上门维修服务规范525
- 龋病的分类及临床表现
评论
0/150
提交评论