iOS菜狗养成路之石头剪刀布
经历了之前BullEyeGame的锻炼,是不是对viewcontroller的使用,以及一些button、label、slider等控件使用有了一定的了解。
那么今天,让我们通过这个亘古不变的游戏——石头剪刀布来加强一下button、label的使用,同时学习使用两个view,以及image view,并了解动画祯序列的机制。话不多说,就让我们开始吧,首先还是老样子,先上图看看最后的效果。
操作界面(丑是丑了点,不过我们知道了内部的运行机制,外观都是可以根据需要进行修改的:))
玩家通过选择出拳,然后显示结果界面。
那么还是老样子,事实上基本上所有的项目开发都是以下这三个步骤:
1、界面搭建
2、代码实现
3、整体完善
那么我们废话不多说,现在就开始,建立一个single view空项目,这里跟之前一样,我就不赘述了,直接从界面搭建开始讲起。
1、界面搭建
跟之前也是一样的,在main.storyboard中,移动控件,效果如下:
是不是很奇怪,除了图片没有放上去,为什么下面的选择出拳的界面也没有?没错,那是因为我们还没有添加,这个就是一个新的view界面,我们在游戏进行时,将这个界面弹出来,游戏界面显示时候,将界面隐藏,这样就能比较清晰直观的给用户良好的体验。
那么我们现在添加一个view将开始按钮覆盖,同时添加一些图片,使得界面稍微好看一点(虽然一直丑)
界面我们就先讲到这里,具体如果你想把这个做的更加的精致,那么可以根据自己的想法进行设计(欢迎交流讨论)
2、代码实现
说实在的,这个才是重头戏,然而其实对于这个游戏,代码、以及思路真的是简单。
a、设置两个数组存放图像,然后将电脑和用户的图片进行序列帧动画播放。
b、对每个图片进行tag标记,通过对tag的判断比较,输出不同的结果。
c、当判断结束,停止动画,并且在前端显示结果,同时弹出(开始按钮)
d、引入媒体播放框架,设置背景音乐。
让我们一点一点地来实现吧
首先我们先将每一个控件对象进行变量的申明,并且进行连接关联。在此因为c博对于图片数量要求严格,就不多上图了。
紧接着我们开始讨论如何让石头剪刀布动起来。
上次我们知道,如果想让程序一运行就开始执行某些方法或者效果,那么只要写在viewdidload方法中就可以了,那么这次也是一样,首先我们创建一个数组用于存放图片。
NSArray *_imageList;
_imageList = @[[UIImage imageNamed:@"石头.png"],
[UIImage imageNamed:@"剪刀.png"],
[UIImage imageNamed:@"布.png"]];
数组设置好了,我们只需要调用apple已经给我们封装好了的动画祯播放方法进行数组播放就好,在这之前先要做以下几项工作:、
1、设置动画播放的数组
2、设置动画播放时长
3、开始播放
//1.设置播放动画数组