本章系统地分析了引擎主要类的功能和使用方式。在 3.x 版本后,有些类被遗弃了,所以读者在开发的过程中要注意这些,尽量使用最新的类,因为被遗弃的类一般都有功能和性能上的缺陷,所以不建议使用。对于EdixBox类,在2.2.6版本之前,在iOS8上,如果单击输入,键盘弹出时,会发现界面偏移错误,出现黑色背景部分。关闭键盘时,界面偏移不回来了(作者在使用 2.2.3 开发时就遇到这个问题),后来,只有把引擎升级到 3.5 版本,才解决了这个问题。但 2.2.6 版本中也修复了这个 BUG。如果读者使用的是 2.x 版本开发,遇到这个问题,则只要升级到 2.2.6 这个版本就可以了。因为 2.x 和 3.x 的变化比较大,并且在2.2.6这个版本中修复了iPhone6和iPhone6 Plus的一些BUG,支持苹果的64位架构(因为现在提交给苹果应用商店的所有应用都必须支持64位)。
对于游戏中用到文字的部分,尽量使用 Label 类和 ui 命名空间下 Text 类型的类来实现,LabelTTF等2.x中的类都被遗弃了。
本章在介绍引擎类的同时,也介绍了几个作者在开发过程中使用的类,这些类都是在引擎相应类的基础上改动,或者通过继承来实现的,希望读者结合光盘中的完整代码去理解,并根据自己的需要运用到自己的项目中去。
对于Sprite创建对象所使用的图片,最好把它们合并到一张图上,然后使用SpriteFrame Cache 将该图加载到帧缓存区中,通过帧创建 Sprite 对象,这样既减少了游戏包的大小,又节省了内存。当一个场景中有多个对象使用 Sprite 类来创建时,并且这些对象所用到的图片又在一张图上,则可以将这些对象加入SpriteBatchNode生成的节点中,这样节省了OpenGL调用的次数,提高了游戏性能。