一、贴图为快
玩法: 如果杀死10个僵尸,通过次关;点击进入下一关时,僵尸的速度变大。
如果家里进来15只僵尸,则输了,重玩此关。
点击杀死僵尸时播放音频,输赢也有音频播放,有背景音乐。
二、业务逻辑及知识点
1.主要由两个类来完成,类1:主页面显示类RootViewController:UIImageView;类2:僵尸类:ZombieView:UIImageView。
2.播放音频类:#import <AVFoundation/AVAudioPlayer.h> ,需要添加,
NSString *deadPath = [[NSBundle mainBundle] pathForResource:@"lose" ofType:@"mp3"];
NSURL *deadUrl = [NSURL fileURLWithPath:deadPath];
deadPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:deadUrl error:nil];
[deadPlayer prepareToPlay];
3.提醒框:
UIAlertView* alert=[[UIAlertView alloc] initWithTitle:@"输 啦! !" message:@"你输了!" delegate:nil cancelButtonTitle:@"确认!" otherButtonTitles:nil];
[alert show];
[alert release];
4. 导入包,一般放到.m文件中,防止交叉编译
5.计时器,
timer = [NSTimer scheduledTimerWithTimeInterval:time target:self
selector:@selector(move) userInfo:nil repeats:YES];
[timer invalidate];//停止计时器
6.仿射变换(矩阵变换)
// 改变僵尸的大小
- (void)changeSize
{
//难点,仿射变换(矩阵变换)
CGAffineTransform t = CGAffineTransformMakeScale(2.0, 2.0);//Scale缩放
//增大动画
[UIView animateWithDuration:0.35
animations:^{
self.transform = t;
} completion:^(BOOL finished){
//缩小动画
[UIView animateWithDuration:0.35
animations:^{
CGAffineTransform t1 =
CGAffineTransformScale(self.transform, 0.5, 0.5);
self.transform = t1;
} completion:^(BOOL finished) {
[self removeFromSuperview];
}];
}];
}
致力于ios开发
分类:
ios小案例
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 地球OL攻略 —— 某应届生求职总结
· 提示词工程——AI应用必不可少的技术
· Open-Sora 2.0 重磅开源!
· 周边上新:园子的第一款马克杯温暖上架