图书前言

为什么要写这本书

这是一个真实的故事。

儿时与兄弟们玩街机和FC游戏的场景仍历历在目,不知不觉中就玩到了20世纪90年

代。在学习和使用计算机过程中,发现除了能敲出自己的名字,还可以玩一些那么有吸引

力的游戏——海阔开空、千军万马,数不清的战斗!数不清的不眠之夜!玩果然是天性!

玩着玩着就想到,如果自己能开发游戏是一件多么酷的事情!于是开始了软件开发之

旅,不知道有多少学习软件开发的朋友是受到了游戏的影响!相信不止我一个。好吧,事

情没那么简单,学着学着就开始工作了,此时才发现,怎么在做ERP系统呢?……

打拼了几年,终于有时间回到当初的梦想。但此时,游戏已不是计算机的专利了,智

能手机的兴起,让“游戏机”装入口袋。很快,自己也小试了一下,使用Java ME开发了

一个俄罗斯方块游戏,并在自己的Nokia E71上玩了很久,只是在家人的Nokia 5300中,显

示效果完全不是一回事儿,Java ME版本问题,没办法解决!这段经历的总结是,在移动

游戏开发方面,选择Nokia算是选错队友了!

继续选择新队友,首先,了解了一些平台,特别是移动平台,当然还有游戏开发框

架,有专用的,也有跨平台的;最终,还是选择了Apple朋友圈,原因是多方面的,或者

干脆说,喜欢做就做了,需要理由吗?!

软件开发,首先需要掌握一种编程语言,于是,Objective-C就来了,那时还没Swift什

么事呢!换个角度讲,到现在为止,Swift的每一次改变都会让一些代码罢工,成熟的工具

不应该是这样的。也许,Swift 3.0以后会好起来,我们拭目以待吧。

再说游戏开发,一个好用的框架是必不可少的,是的,Sprite Kit就是这样一个好用的

游戏开发框架。使用Sprite Kit开发游戏,我们不需要使用复杂的CG技术就可以创建出各种

游戏角色(比如,只需要一张图片),也不需要复杂的计算就可以让角色动起来(比如,

只需要一个简单的动作类型)。简单!易用!就是它了!当然,还有一个重要的因素,

Sprite Kit是Apple公司自己的游戏开发框架,所以,兼容性和技术支持等方面会更好,而

且,同时支持iOS和OS X系统。

学习、实践、完成项目,在这个过程中,我都进行了大量的记录,有Objective-C编程

语言方面的,有Sprite Kit应用方面的,当然也包括自己对技术应用和游戏开发的思考、理

解。有一天,我把这些资料整理了一下,惊奇地发现已经有了这么多内容,都可以成书了!

好的,被您猜中了,这就是本书形成的过程,也是我的游戏开发历程。

那么,为什么考虑出版本书呢?原因很简单,就是想为学习iOS 或OS X游戏开发的朋

友提供一份简单、实用的学习和参考资料,分享游戏开发的经历与乐趣。

本书特色

1. 简单、实用

简单,并不意味着本书的内容很少,正相反,一方面,本书对游戏开发的相关技术和

方法进行提炼,包括了在iOS和OS X系统中进行游戏开发的必要知识;另一方面,本书也

突出了知识的实用性,对内容深度和广度都进行有效的把握。通过这些内容的学习,相信

读者能够打开游戏开发的大门。

2. 真正从零开始

学习本书,并不需要读者有特殊的编程经历,只要循序渐进,逐渐掌握书的内容,完

全可以开发出iOS或OS X游戏。

3. 轻松学习

无论是玩游戏,还是开发游戏,我都会提倡趣味性与娱乐性,学习虽然是一件很艰苦

的事情,但我们完全有理由去享受这一过程,特别对于游戏开发的学习过程。本书中,语

言和示例都会以轻松的、直观的、有趣的方式来展现,希望大家也能够感觉到,我们就是

在开心、轻松的聊天过程中来学习游戏开发的。

4. 理论与实践相结合

对于每个示例,都有很强的针对性,一切为了游戏开发;针对各种技术,我们不但介

绍了基本的应用和实现,同时,讨论了各种实际应用的场景,力求让读者能够真正理解并

融合这些知识,并能够应用到实际的游戏开发中。

5. 完整性

与很多介绍某种开发技术的图书不同,本书并不是单一技术的手册,而是包括了iOS 

或OS X游戏开发的完整内容,从基本的代码、Sprite Kit开发资源的应用,再到Game Center 

排行榜、应用内购买等,这些内容完整地展示了游戏从开发到上架所需要的知识。

读者对象

在这里,我们看看本书的内容都适合哪些朋友阅读和使用。

游戏开发爱好者

iOS或OS X应用开发者

Sprite Kit开发者

如何阅读本书

本书主要包括四个部分的内容:

第一部分介绍了如何使用Xcode和Objective-C语言编写程序。

第二部分讨论了Foundation框架中常用的开发资源,这些资源不但可以为游戏开发服

务,同样也可以应用于各种类型的iOS或OS X应用开发。

第三部分讨论了Sprite Kit在游戏开发中的应用。

第四部分讨论了游戏开发相关的技术,如网络状态检测、Game Center 排行榜、应用内

购买等。

如果是Apple环境开发新手,建议从第1章开始逐步学习;如果是一名经验丰富的开发

者,可以根据实际需要选择其中的内容阅读;实际工作中,可以将本书作为参考手册随时

查阅。

阅读本书的建议

对于开发初学者,建议逐章阅读,并能够亲手实践书中的示例代码。

对于已经掌握Objective-C语言的读者,可以根据需要阅读相关的内容。

对于Foundation、Sprite Kit或常用功能实现部分,大家可以随时参考,并根据实际

需要修改使用。

进一步学习建议

阅读并掌握本书的内容以后,相信读者已经掌握了Objective-C,并对iOS或OS X应用

有了一定的了解,特别是,应该可以开发出属于自己的游戏了。

不过,我们也知道,开发一个大型游戏的知识绝不止书中这些内容,所以,完成本书

内容的学习以后,大家可以更进一步,以下是关于深入学习的一些建议:

无论是Foundation还是Sprite Kit或Store Kit框架,都值得我们深入学习和理解,

并能够在应用中合理地使用。关于这些内容,建议大家能够抽时间看一看官方文

档。对于某些问题的众多解决方案和技巧,能够在学习和应用过程中主动思考,

并亲手验证它们。

如果需要进行跨平台的游戏开发,建议大家了解至少一种框架,并能深入地学习

和应用。

Swift 是一种现代的编程语言,如果大家需要长期进行Apple 环境的开发工作,建议

学习并能够熟练使用它。

勘误和支持

由于作者水平有限、编写时间仓促,书中难免会出现一些疏漏或不足之处,而读者的

批评和指正,正是我们共同进步的强大力量,欢迎您通过清华大学出版社网站(www.tup. 

com.cn)与我们联系,同时,也欢迎大家直接与作者交流,作者的邮箱是chydev@163.com。

致谢

感谢出版社的编辑老师耐心的交流与指导,使得本书能够顺利与读者见面。

感谢我的家人,他们承担了大量的家务,容忍了我在家里的“懒惰”,为我创造了一

个温暖的家、一个安心的工作环境,特别是我的孩子们,他们总是说“爸爸在工作,我不

打扰他”,而这些正是我快乐生活和努力工作的力量源泉。

谨以此书献给我的家人,以及热爱游戏、热爱开发的朋友们!

曹化宇

2016年7月