飞机大战步骤:
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成等比
原文:http://www.cnblogs.com/lanyisanqqi/p/5090419.html