您的位置:首页 > 移动开发 > IOS开发

蓝懿IOS打飞机游戏练习

2015-12-30 23:45 239 查看
今天很过瘾收获很多,学到了很多东西。开始对编程感兴趣了。一天的时间,刘国斌老师带着做了一个实现基础功能的打飞机游戏。游戏的编写思维很重要,把今天的笔记整理如下。

飞机大战步骤:

1.在viewDidLoad里面用for循环添加背景图片,把两个背景图片添加到一个属性数组中

2.在添加完背景图片之后 开启一个timer 每隔一段时间执行 移动图片的代码

//第二个版本 添加Hero

3.创建飞机(Hero)类 在飞机类initWithFrame方法中添加了设置图片的代码

4.在ViewDidLoad里面创建hero 并添加到self.view中

5.touchMove里面 获取用户触摸屏幕的dian 给到hero的center

第三个版本 添加子弹

6.在Hero的initWithFrame方法中创建发射子弹的timer

7.在上面的timer中创建子弹(UIImageView)添加到界面中注意 不是self(hero)中 应该是self.superView中 每次添加两个子弹(纯是为了好看)

8.在Hero中创建一个属性数组 把创建出来的每一个子弹 添加到数组中 为了能够让每一个子弹移动

9.在ViewController的moveAction方法中 遍历hero里面数组中的每一个子弹 去移动

10.在移动子弹之后 判断子弹是否移出了屏幕 如果是从界面中删除 还要从数组中删除 切记!要break

//第四个版本 添加敌机

11.创建敌机A 在initWithFrame里面 设置图片 开启timer 在timer中移动自己 把移动的速度 声明成属性 因为其它子类敌机的值 不一样

12.创建敌机B C D 继承与敌机A 在各自的初始化方法里(initWithFrame)设置自己的图片和速度

13.在viewDidLoad里面 创建一个Timer 每隔一段时间调用 addEnemy的方法添加敌机

14.声明一个int属性 记录添加的敌机数量

15.每次添加敌机的时候 让敌机数量除以20 把结果(0 1 2 3 4)用switchCase 判断 不同值 创建不同的敌机类型 把最后出现的所有飞机的类型放在 switchCase的default 里面

第五个版本 添加碰撞检测

16声明一个敌机数组 把所有的敌机保存 在addEnemy中添加敌机的时候 把敌机添加到数组中

17.在moveAction里面 写碰撞代码 两层forin循环遍历每一个子弹和每一个僵尸 如果碰撞上 让敌机的HP-1 并且判断如果HP==0 则删除敌机 此时因为是两层forin循环 修改数组后要return 结束方法 不能加 break

18.在添加敌机的时候 通过敌机的数量 计算出 敌机的HP 保证数量越大 HP值越大

第六版 hero碰撞 和 hero添加level

19.在检测敌机和子弹碰撞的位置 添加 一个遍历敌机的forin循环 在里面判断敌机和hero的碰撞 如果碰上直接把 hero从界面中删除

20.给hero添加一个int类型的level属性 在viewController里面添加一个 记录敌机死亡数量的int属性

21在敌机死亡的位置 让数量+1 并且 让敌机死亡次数和 hero的level建立关系

22.重写hero的setLevel方法 在里面 先加上_level=level; 然后通过让level和自身图片名称建立关系 让飞机显示成计算成 -=hero出的新图片

23.在敌机HP- - 的时候 把- - 改.level 也就是让hero子弹的威力 和 level成等比

分享到:
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: