1 / 31

第十章

第十章. MIDP 2.0 Game 开发入门 -II. 提问. 回顾. 通过 ( )技术,可以有效减少图片的使用数量。 一段连续的动画可以按时间分解成一幅幅图片,每幅图片都称为一个( )。 使用 Sprite 类的( )方法可以方便的实现 手机游戏中碰撞检测。. 上机任务- 1. 实现一个公鸡快跑的动画效果,具体要求如下: 程序启动后,在屏幕上显示一只不断奔跑的公鸡。 公鸡从屏幕的左侧开始奔跑,移出屏幕右侧边缘后又重新在左侧出现,然后继续奔跑,循环往复。. 上机任务- 2. 上机任务- 3.

fahim
Download Presentation

第十章

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第十章 MIDP 2.0 Game开发入门-II

  2. 提问 回顾 • 通过( )技术,可以有效减少图片的使用数量。 • 一段连续的动画可以按时间分解成一幅幅图片,每幅图片都称为一个( )。 • 使用Sprite类的( )方法可以方便的实现 手机游戏中碰撞检测。

  3. 上机任务-1 • 实现一个公鸡快跑的动画效果,具体要求如下: • 程序启动后,在屏幕上显示一只不断奔跑的公鸡。 • 公鸡从屏幕的左侧开始奔跑,移出屏幕右侧边缘后又重新在左侧出现,然后继续奔跑,循环往复。

  4. 上机任务-2

  5. 上机任务-3 • 实现一个导弹打飞行器的小游戏,具体要求如下: • 屏幕底部显示一个飞行器,玩家可以按下“←、→”键控制飞机在水平方向上进行移动

  6. 上机任务-3 • 从屏幕顶部向下发射一枚导弹,如果导弹击中屏幕下方的飞行器,显示游戏结束提示界面,玩家执行“确定”命令退出程序;如果未击中飞行器,则在屏幕底部消失,屏幕顶部重新发射一枚导弹。

  7. 训练技能点 • 学习创建Sprite精灵类 • 利用Sprite类实现图片变换 • 熟悉继承GameCanvas类的游戏主界面实现框架 • 掌握Sprite类的碰撞检测功能

  8. 任务1 • 任务说明 • 实现公鸡快跑的动画效果

  9. 任务1 • 掌握要点 • 创建Sprite精灵类的方法 • 利用Sprite类实现图像翻转

  10. 任务1 • 建立名为CockRunPrj的MIDlet项目,并在src源文件夹下创建继承GameCanvas的CockRunGameCanvas画布类,且使其实现Runnable接口

  11. 导入图片素材文件: 任务1

  12. 任务1 • 修改CockRunGameCanvas类,在其中添加以下成员: • bgImg:Image类型属性,保存背景图片对象 • bgImgX:int类型属性,背景图片的横坐标 • bgImgY:int类型属性,背景图片的纵坐标 • 在构造方法中对以上属性进行初始化,然后继续添加paint方法定义,将背景图片绘制到屏幕上。

  13. 在src文件夹下创建CockRunMIDlet类,在其中添加CockRunGameCanvas类型的属性crgc,并在程序启动时将crgc对象设置为当前屏幕 任务1

  14. 任务1

  15. 修改CockRunGameCanvas类,添加属性定义: cockImg:Image类型属性,保存公鸡图片信息 cockSp:Sprite类型属性,保存公鸡图片中的帧动作 cockSpX:int类型属性,保存公鸡精灵的当前横坐标 cockSpY:int类型属性,保存公鸡精灵的当前纵坐标 在构造方法中对以上属性进行初始化。修改paint方法,在屏幕上绘制公鸡精灵图层。 任务1

  16. 修改CockRunGameCanvas类,实现其中的run方法,并在构造方法中创建并启动一个新的线程对象。 任务1

  17. 任务2 • 任务说明 • 实现一个导弹打飞行器的小游戏

  18. 任务2 • 掌握要点 • 熟悉继承GameCanvas类的游戏主界面实现框架 • Sprite类的碰撞检测

  19. 任务2 新建BombGamePrj MIDlet Project,在src源文件夹下创建BombGameMIDlet类

  20. 任务2 创建游戏的主界面类BombGameCanvas,该类继承了GameCanvas抽象类,并实现了Runnable接口

  21. 导入图片素材文件: 任务2

  22. 任务2

  23. 任务2 修改BombGameCanvas类的代码,添加属性定义: planeImg:Image类型属性,用于保存飞行器图片信息 planeSp:Sprite类型属性,飞行器精灵图层对象 planeSpX:int类型属性,代表飞行器精灵图层的当前横坐标 planeSpY:int类型属性,代表飞行器精灵图层的当前纵坐标

  24. 任务2 修改BombGameMIDlet类,添加BombGameCanvas类型的属性bgc,并在程序启动时将bgc对象设置为当前屏幕

  25. 任务2 修改BombGameCanvas类,在input方法和logic方法中添加以下代码:

  26. 任务2 修改BombGameCanvas类,添加如下属性定义 bombImg:Image类型的属性,保存导弹图片信息 bombSp:Sprite类型的属性,代表导弹精灵图层 bombSpX:int类型的属性,代表导弹精灵的当前横坐标 bombSpY:int类型的属性,代表导弹精灵的当前纵坐标 random:Random类型的属性,用于随机生成导弹精灵的横坐标

  27. 任务2 修改BombGameCanvas类的代码,为其添加一个布尔类型的属性isBombThreadRun,用来判断控制导弹精灵运动的线程是否正在运行,同时在构造方法中创建并启动一个控制导弹精灵运动的线程对象

  28. 任务1 步骤九:修改BombGameCanvas类,添加下面的属性定义: alert:Alert类型的属性,代表信息提示界面 exitCmd:Command类型的属性,代表退出命令 在BombGameCanvas类的构造方法中对以上两个属性进行初始化

  29. 任务1 在控制导弹精灵运动线程对象的run方法中加入像素级碰撞检测代码

  30. 总结 本次上机总结

  31. Thank You!

More Related