微信打飞机游戏思路复习

1、 图片素材放supporting files
2、添加背景移动
for循环加两张背景图片,坐标不同。
注意Y轴坐标设定要和for循环的i关联。

开timer 使得背景图移动。
两图都需要移动,且是同时同步移动,先用数组存放。
遍历
下屏幕下方移动,会移出屏幕,让移出屏幕的再回到屏幕上方。

3、添加自己的飞机
Hero类中
开timer
加方法 奇偶数
实现喷气效果

在ViewController中引入Hero类。
初始化
宽高设置
center设置

4、发射子弹
hero创建出来就要发射子弹
timer少开 尽量复用 于是:
在hero.m中加子弹,借用Hero的实现喷气效果的timer。
注意:加到界面中 addSuperview–指的是ViewController中得self。

移动子弹
子弹越来越多
占用资源。
做判断 将出界面的子弹View删除,也从数组删除。
修改了forin循环的数组,break 跳出一层循环。

5、飞机移动

添加:iPhone5全屏按钮320*568 注意坐标

左右分割

按左 hero向左 左右button一起移动
按右边button同理。

按钮效果,不佳。
改成触摸 touchesMove。

触摸与之前添加的button按键 行为冲突。
记得关button的交互。

6、添加敌机
Enemy父类 移动位置代码 速度属性
加子类
viewController中加
加touchesBegan

小中大敌机出现的概率按6: 3: 1比例。

7、碰撞检测
子弹 敌机碰撞
两个数组准备好。

加敌机数组时 注意使用多态。

遍历 碰撞

添加敌机血量属性。
大中小敌机血量 10:5:1
8、爆炸效果

本质 换几次图片

递增数。

停timer方法:
传参数timer过来到要调用的方法中
最后 timer invalidate

hp变为零
爆炸换图片
换完图
消失 移除View

9、hero爆炸
敌机和hero碰撞

hero爆炸 换图
停止喷气timer

10、计分
lable直接拖动会被盖住

代码创建lable
在别的地方用到。
用属性lable

加分
取分数 截取字符串

专门设置一个 价值属性
点是否进入到矩形当中
CGRectContainPoint
碰撞的也要炸。
添加敌机的dead方法。
死亡出结果

你可能感兴趣的:(iOS,微信打飞机,iOS,Objective-C)