IOS飞机大战OC版

前一阵子看到了很多版本的打飞机游戏,有Java版的C++版本的还有C语言版的。。。

这几天闲着的时候写了一个OC版的,也正好是因为答应朋友写这个游戏来把飞机都换成他照片- -。

没有用Cocos2d框架,用的QuartzCore中的CADisplayLink来完成。

 

先看下完成后的效果

IOS飞机大战OC版_第1张图片IOS飞机大战OC版_第2张图片

简单的架构思路设计如下:

IOS飞机大战OC版_第3张图片

图片资源与音乐资源都以单例方式实现模型,在需要的地方调用。

核心部分是对每秒60帧刷新方法中的处理。

self.gameTimer = [CADisplayLink displayLinkWithTarget:self selector:@selector(steps)];
[self.gameTimer addToRunLoop:[NSRunLoop mainRunLoop] forMode:NSDefaultRunLoopMode];

 IOS飞机大战OC版_第4张图片

_step是静态长整型,记录刷新次数。

 

 

背景处理代码

IOS飞机大战OC版_第5张图片

每次刷新背景视图向下移动一个点

IOS飞机大战OC版_第6张图片

 

IOS飞机大战OC版_第7张图片

IOS飞机大战OC版_第8张图片

上面是碰撞检测部分。分别对两种情况进行了处理,并对爆炸动画进行了逐帧显示。

 

在设置toBlowup属性中播放爆炸音效。

IOS飞机大战OC版_第9张图片

播放音效代码,所有音效在单例初始化的时候加载到了一个字典中。方便读取。

IOS飞机大战OC版_第10张图片

初始化敌机方法

 

IOS飞机大战OC版_第11张图片

 

敌机初始化时间这个设定看习惯随便了,由于游戏中大部分方法都进行了封装,就不全贴出来了。可以自行下载,从架构到编写时间比较短,而且出现道具的功能也没有实现,希望有改进的建议或者改进后的例子可以交流。

 

 

补充这个游戏是用Xcode5写的,另外附上用Iphone4玩时候内存和CPU的使用情况。IOS飞机大战OC版_第12张图片

 

Demo源码:点击打开链接

 

 

以上为本篇博客全部内容,欢迎指正和交流。转载注明出处~

 

你可能感兴趣的:(ios)