学习情境4 MIDP2.0游戏开发.pptVIP

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

学习情境4 MIDP2.0游戏开发 能力目标 学会使用GameCvanvas类的按键响应方法; 会熟练构造精灵类; 学会使用精灵实现动画的自动播放; 能熟练设置精灵出现的位置、显示帧、切换帧和绘制帧的方法。 学会使用Vector类创建子弹、移动子弹和绘制子弹; 学会自定义对象类的方法,构造一个游戏对象; 学会使用变量来模拟计数器功能,实现游戏对象以不同的频率运动; 熟练掌握使用setTransform()方法,实现精灵对象的旋转; 熟练掌握使用精灵类提供的方法进行碰撞的检测; …… 认知目标 认识游戏的屏幕GameCanvas类; 了解GameCanvas类和Canvas类的区别; 了解GameCvanvas类的自动双缓冲区和脱屏画笔; 学习精灵类中常用方法的语法格式,并理解其中参数的含义。 了解Vector类中的常用方法,并理解各参数的含义; 理解计数器在游戏程序中的使用方法和重要性; 理解setTransform()方法中参数rotating的8个取值的含义 认知collidesWith()方法的语法格式,并理解其参数的含义; 理解区域级和像素级碰撞区别; 理解播放帧序列中的帧号码和帧序号的区别; …… 4.1 学习情景描述 游戏主角是由玩家来控制的游戏对象,可以是一架飞机、一辆坦克、一个人物等。玩家通过手机键盘上的按键,可以控制游戏主角在手机屏幕上进行移动、跳跃、投掷、格斗等各种动作。 在本学习单元中,首先,通过控制一架飞机在屏幕上的移动,来认识GameCanvas,并学习在GameCanvas中的键盘处理;然后,通过在移动时,改变飞机的形状,初识精灵类;最后,通过控制一个主角人物在屏幕上的行走,来深入地学习精灵类的使用。 4.2.2 知识准备:了解GameCanvas类 4.2.3 任务一:控制主角飞机在屏幕上移动 任务准备 检测按键状态方法 protected GameCanvas(boolean suppressKeyEvents) 参数suppressKeyEvents用于指定是否支持MIDP1.0中的键盘响应事件。当参数取值为true时,指明不支持键盘响应事件。当用户操作键盘时,不会引起keyPressed()、keyReleased()和keyRepeated()这三个事件方法被调用,这样可以提高速度和性能。如果参数取值为false,那么一旦按键被按下,就会调用上述三个传统的键盘事件处理方法。 在GameCanvas类中定义的九个表示按键状态码的静态属性常量中,并不包含键盘左上角的“左软键”和键盘右上角的“右软键”。而这两个按键通常被用来响应“返回”、“暂停”、“退出”、“确定”等与用户交互的功能按钮。因此,在MIDP2.0中保留了对MIDP1.0中的按键响应机制,通常用于对“左软键”和“右软键”的响应。 要点提示1:绘制双缓冲区 1、在MIDP2.0中,GameCanvas类为每个实例对象提供唯一的图形缓冲区,缓冲区的大小与屏幕大小一样。每一个GameCanvas对象所拥有的缓冲区都是独立的,因此最好在游戏中仅创建一个GameCanvas类对象,并且重复利用。 2、调用GameCanvas类的getGraphics()方法,可以获得绘制缓冲区的Graphics对象。 3、调用GameCanvas类的flushGraphics()方法,可以将缓冲区中的内容绘制到屏幕上。 4.2.4 任务二:飞机移动时,实现形状的改变 知识准备:了解精灵类 知识提炼:精灵类构造方法 要点提示 4.2.5 任务三:设计主角人物在屏幕上行走 任务准备 要点提示 4.2.6 延伸任务:控制主角人物,按键行走,释放站立 private void controlFrame(int direction) { if (frameIndex sequence[direction].length - 1) { frameCounter--; if (frameCounter==0) { frameIndex++; frameCounter = 3; } } else { frameIndex = 1; // 跳过0帧(站立帧) } spMan.setFrame(sequence[direction][frameIndex]); // 设置帧 } 4.3 子弹设计 4.3.2 使用Vector类设计子弹 知识准备:了解Vector类 Vector类位于java.util包中。在J2ME MIDP2.0中,保留了J2SE中的Vector类。该类对用户隐藏了内存分配的细节问题,使用Vector可以作为需要动态生成对象的容器。而

文档评论(0)

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

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

版权声明书
用户编号:5311233133000002

1亿VIP精品文档

相关文档