写在开头:
本人初入iOS,想借此系列的文章记录自己的学习过程,同时也和大家分享一些学习心得,作为一个刚学编程的新人,想自己写一个小app或者小游戏可能是一件比较困难的事情,于是乎我就尝试用自己所学的有限的知识能不能做几个小应用,哪怕非常简单的也不要紧,整个尝试的过程非常有趣,如果你和我同为新人,那么一起来学习讨论吧!
没图你说个球球啊,好。。先上动图展示:
素材是我自己用PS切的九个图片,这个小游戏写起来比较简单,我说说自己的方法吧:
1.应用到的控件:
上面的全图就是一个简单的imageView,而下面的图片因为需要点击,我就设成了按钮,由于有一个需要空着,所以一开始我设置了八个按钮,按钮的移动就是frame的变化,后来写的时候发现这样写麻烦一些,灵机一动,用一个空白的按钮代替了第九个格子,然后瞬间发现写起来简单了不少
2. 按钮移动的条件判断
也是这个小游戏的核心,我的判断标准是如果那个空白的按钮和有图片的按钮是挨着的,那么点击有图片的按钮后将两个按钮的frame互换,注意必须挨着才行,不然你点击第一个按钮,它也会和第九个的空白按钮互换位置,这样就不符合游戏的要求了
好,那么如果判断两个格子是挨着的呢,有四种情况:分别是白色的按钮在你点击的按钮的上边,下边,左边或者右边。
以上边为例,比如 imageButton 是有图片的按钮,blankButton 是空白的按钮,达成条件为
imageButton的最大Y值 等于 blankButton的最小Y值 并且 他们的最小 X值都相等
达成上述条件,交换两按钮的frame,就是这么简单。。
3. 胜利条件
每个按钮的frame达成胜利时的frame,然后胜利后顺便给那个空白的按钮配个图片就好,加点延迟效果更棒哦
所以我这个程序写的并不好,我是拿到了这全部8个按钮,并且给它们写条件,按钮的初始顺序也是已经在storyboard里提前安排好了的,并非随机生成的,以及最后的胜利判断,判断条件写起来很麻烦,所以这些是我在以后需要去完善改进的地方,如果你们有什么好的方法希望给我留言,谢谢大家。
代码这里下载 https://github.com/SaberVicky/pintu