微信打飞机 蓝懿教育

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方法。 
死亡出结果

时间: 2024-11-05 11:49:41

微信打飞机 蓝懿教育的相关文章

2015 IOS 学习笔记 控 件 ——蓝懿教育

UIlabel  *l1   蓝懿教育 text font 设置字体 设置居中  l1 setTextAlignment:NSTextAlignmentCenter 设置行数  numberOfLines //    lf.font = [UIFont fontWithName:@"字体名称" size:18]; //设置居中 [l setTextAlignment:NSTextAlignmentCenter]; UIbutton 内容  setTitle    UI button  

2015 IOS 制作通讯录——在蓝懿教育 学习笔记

来自蓝懿教育 学生笔记 1.删除界面中的vc,并且建立一个tablevc,在sb中创建navigation,并且关联TableView中的属性,并让箭头指向第一页面的navigation,并关联cell 2.拖拽界面view controller 建立一个personviewcontroller使之与sb中的关联, 3.在tablevc中建立左上角的加号 4.关联Personvc属性,并且在左上角加号中的事件方法中写入事件 5.删除vdidload中的多余行(留下添加右上角删除按钮代码): 6.

2015 IOS 学习笔记 正向反向练习 ——蓝懿教育

正向传值   蓝懿教育 跳转页面过程中 从ViewController(A类) 向 SecondViewController(B类)中跳转 在ViewControlller中创建的一个SecondViewController页面 所以从ViewController向Second传叫正向传值 如果传的是text 那么实际传的是字符串 所以要先在 SecondViewController.h中 建一个属性 Nsstring*accept    .h是开放可见的 那么ViewControlller中

2015 IOS TableView ——在蓝懿教育 学习笔记

TableView   蓝懿教育 1首先创建 UITableView *tableView = [[UITableView alloc]initWithFrame:self.view.bounds]; tableView.dataSource = self; //dataSource 是数据源 [self.view addSubview:tableView]; 2创建协议 @interface ViewController ()<</span>UITableViewDataSource&

2015 IOS 文件管理器 ——在蓝懿教育 学习笔记

得到文件管理器   蓝懿教育 NSFileManager *fm = [NSFileManager defaultManager]; //    复制 //    [fm copyItemAtPath:@"/Users/ivan/Desktop/a.png" toPath:@"/Users/ivan/Desktop/copy/a.png" error:nil]; //    移动  移动的时候目的地不能有重名的 //    [fm moveItemAtPath:@&

蓝懿教育 内存管理

栈区:里面存放基本数据类型及对象地址,不需要考虑内存释放问题 堆区:由程序员分配释放.若程序员不释放,则这块内存永远不会被释放,会造成内存泄露.iOS中,alloc创建出来对象都放在堆区. alloc 命令会导致内存计数+1 谁加的谁负责 属性括号里面的的关键字 用来控制set和get方法中的内容. retain(strong) 会让set方法中做两件事1.把原来的值release 2.把新传递进来的值 retain assign(weak)  会让set方法中只做一件事 就是把传递进来的值赋值

蓝懿教育 零基础学习iOS10天的一些心得

10天以前来到蓝懿开始我的iOS学习生涯,获取知识的时候时间过得很快,10天已经过去了,从开始的时候对iOS这个概念都一知半解,到现在能自己摸索着试着写出一些简单的小游戏小项目,像简单版的计算器.打砖块,接水果,微信飞机大战等,并在里面加些自己的想法,虽然编写代码的过程中时常会有些错误,但才刚开始学习,出错在所难免,多多练习.思考,从错误中汲取知识才是最重要的,同时感觉自己这一周的时候收获很多. 对于学习知识或者一项技能,学习方法和心态是很重要,在学习当中应该保持一颗良好的心态.应该借鉴别人好的

蓝懿教育第十四日记录

今天是九月六日.来到蓝懿的第十四天.刘老师没有今天没有讲新课 ,而是带领我们做了一个高级版计算器.前两天我也做过两版简单的计算器.但今天听了老师的讲解,发现自己曾经的代码有许多过于繁琐的地方.很多知道改进的地方.还有就是发现前两天讲得代码已经有些淡忘了.例如如何替换数组中的数据 和如何拼接改变字符串.而今天收获的最大的就是如何实现优先级的计算. for (int i=0; i<self.operators.count; i++) { NSString *operator = self.opera

蓝懿教育 相册

蓝懿  昨天讲了如何做相册和文件管理器 相册编写的步骤 1.搭建第一个页面(tableViewcontroller) 2.创建相册(Album)对象 有name和imagePaths数组的属性 3.在第一个页面加载出来的时候获取图片路径下面所有的内容(里面有美女别墅汽车这几个文件夹的名字) 得到文件夹 名字的数组 ,遍历这个数组获取每一个文件夹的名字,得到文件夹的完整路径,再次获取这个文件夹下面所有的 图片路径,根据当前遍历的相册文件夹的路径 创建Album对象 往Album对象中的imageP