本文着重从以下几点开始讲述,其中内存优化会介绍两个方法:imageNamed和imageWithContentOfFile,并通过连个方法的不同来加深对内存优化的理解。
-
tom猫实现思路
-
逻辑代码
-
内存优化
-
代码封装
文章末尾,会有少部分的代码配合文章的思路讲解。项目源代码,欢迎关注微信公众账号“一路上有你”,发送“tom猫+邮箱”,笔者会在第一时间将源代码发送至您的邮箱。好了,我们进入正题。
一、tom猫实现思路
讲解思路之前,我们一起来看一下这个游戏是什么样子的,如下图,打击猫的头部和点击“鸟”等按钮,猫都会做一些响应的动作。
现在,我们将这个游戏进行分解。从上图我们能够看出,猫总共有四个动作,分别是:“吃鸟”、“喝牛奶”、“刮玻璃”以及“晕倒”。我们仔细看一下,除了“晕倒“之外,我们能够很明显看到另外三个动作都是点击按钮后触发的。也就是说,屏幕上至少有三个UIButton控件。其实,我们再仔细思考一下,”晕倒“是鼠标点击头部后触发的动作,那么我们是不是可以认为,我们在猫头部所在位置也添加了一个UIButton呢?是的,正是因为在头部添加一个按钮,所以导致有”晕倒的效果”。那么,我们思考一下“猫”是如何响应这些动作的呢?我们可以这样理解:整个屏幕有一张背景图,触发按钮后,整个背景按照一定的图片序列更换,所以构成了动画。所以,屏幕上除了按钮空间外,还有UIImageView控件用来显示UIImage。
到这里,游戏基本分解