前言
为什么要写这本书
“想要我的财宝吗?想要的话可以给你!去找吧,我把所有的财宝都放在那里了。”每次看到罗杰的这段话,我总是觉得海贼王说的就是移动互联网的故事。世界被移动设备充斥,就像海贼王中无处不在的大海,乔布斯的死开启了大航海时代。
说到移动开发,我最早接触是在刚上大学时,那时跟着老师做一个跨平台程序移植项目,将开源程序从Linux平台移植到maemo平台,现在回头看是很简单的。我们从ubuntu开始学习,到最后将程序运行到一块板子上,中间经历和学到了许多的东西。
完成这个项目后,刚好赶上Android的出现。当时Android的资料只有官方文档,我就抱着学学看的态度去研究,却发现并没有想象的那么困难。“为之则难者亦易已,不为则易者亦难已”,这就是我最大的感触。后来我参加了Google举办的大学生编程大赛,代表学校取得了些不值一提的名次。
在这段时期,我意识到了文档的重要性,就开始在CSDN上写博客。我想得简单,自己费尽心血已经解决的问题,就不要让别人受同样的折磨。没想到博客越写越多,如今已经成了CSDN的博客专家(blog.csdn.net/fansongy),也算是意外收获。
后来发现移动游戏的开发不仅限于Android平台,iOS平台也非常的重要,就学习了Objective-C编程。但同一款游戏,写两套代码维护起来很麻烦。最后接触到了Cocos2D-X,它最大的优势就是Android平台和iOS平台共用一套C++代码,可以根据不同的目标平台编译成对应的应用,这确实极大地方便了开发者。另一方面,Cocos2D-X是开源引擎。当我们遇到问题时,可以跟踪代码来了解问题产生的原因。同时,研究引擎本身也是积累编程经验的好方法。
由于博客中都是一些零散的知识,我试图将Cocos2D-X的技巧串起来,写出更系统的文章。正巧机械工业出版社华章公司的杨福川老师找到我,一拍即合,就有了这本书。
读者对象
❑Cocos2D-X的初级及中级开发者。
❑没使用过Cocos2D-X,但有iOS或Android开发经验的开发者。
❑没有手游开发经验,但之前有C/C++或Java等语言开发经验的开发者。
❑游戏开发爱好者。
❑开设相关课程的大专院校师生。
如何阅读本书
本书的内容分为三个部分。
第一部分:快速上手(第1~3章)。主要介绍Cocos2D-X 3.x中开发的基本方法,以及一些新加入的特性。通过阅读,能够学会安装配置Cocos2D-X开发环境,并能将开发出的程序运行到手机上。同时掌握简单的游戏开发流程,能够开发一款简单的钢琴游戏。
第二部分:开发实战(第4~8章)。通过手把手的方式,由浅入深地讲解手机游戏的开发。首先通过飞机空战游戏,重点讲解了帧动画、事件分发机制、Schedule的使用以及对话框的制作。接着通过打砖块游戏,详细介绍了物理引擎Physicls的使用。最后通过塔防游戏,介绍了瓦片地图以及CocoStudio整合场景的使用方法。在讲解代码的同时,渗透了C++11的使用,带领读者熟悉新的编码风格。
第三部分:拓展知识(第9~12章)。这部分包括对Cocos2D-X 3.x中常见知识的总结,以及常见的业务型需求与Cocos2D-X游戏开发的结合,例如,Android平台SDK的接入、App Store支付、社交分享的接入等。
前两部分建议按顺序阅读,当然如果你是一名经验丰富的资深用户,能够理解Cocos2D-X的相关基础知识和使用技巧,也可以跳过一些熟悉的章节。第三部分较前两部分相对独立,涉及了Android、iOS开发的相关知识。如果有特殊的需求,可以直接阅读相关章节。
勘误和支持
由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为了方便大家交流,我专门创建了QQ群(305889963)。大家有问题可以在群里探讨,我也会尽量为大家解答。书中的全部源文件可以在随书光盘中找到,书中的代码会在Github上(https://github.com/fansongy/Example-of-Cocos2D-X)动态更新。也欢迎大家关注我的个人主页(www.songyang.net),我会将相应的功能更新及时发布出来。如果你有更多宝贵意见,也欢迎发送邮件至fansongy@gmail.com,期待能够得到你们的真挚反馈。
致谢
首先要感谢Cocos2D-X的开发团队,感谢他们为游戏开发者带来如此优秀的引擎。
感谢我的老东家联众互动网络股份有限公司。感谢公司对我的锻炼和培养,使我在很短的时间内从初出校门的学生,成长为独当一面的能手。
感谢我的母校哈尔滨理工大学。它为我提供了一个自由充实的学习环境,各个校区的图书馆中有看不完的书籍和杂志。
感谢CSDN网站上每一位阅读我文章的网友,他们的支持,是我写下去的动力。
感谢胡争辉老师。在构思本书的过程中,他为我提供了大量的建议。他无私地分享了之前的成功经验,并以此作为指导,一起完成了本书章节的编排。
感谢李添甜(新浪微博LTTSweetness: http://weibo.com/u/2028373575)。作为本书唯一的美术人员,工作之余她花费了大量的时间来制作书中用到的美术资源,可以说没有她,我很难顺利完成这本书的编写。
感谢机械工业出版社华章公司的杨福川老师和姜影老师,在这一年左右的时间中始终支持我的写作,鼓励和引导我顺利完成全部书稿。
最后感谢我的爸爸、妈妈、爷爷、奶奶,感谢他们将我培养成人,并教会我做人的道理。
谨以此书献给我最亲爱的家人,以及众多热爱Cocos2D-X的朋友们!
樊松阳
于北京