我所理解的Cocos2d-x

秦春林
此书献给 这个世界上最伟大的爸爸、妈妈 你们对我的支持与包容 造就了我自由的思想 这是我今生最有意义的财富 前言 我与Cocos2d-x结缘于2011年,那个时候我所在的公司OpenXLive与Cocos2d-x团队合作移植Cocos2d-x游戏引擎到WP7平台,它采用C#语言基于XNA来实现,我是该项目的负责人。然而不久,微软就用支持C++原生语言的WP8替代了WP7,该项目也逐渐被开发者淡忘。没想到三年后我却会为Cocos2d-x写一本书,这三年,我和Cocos2d-x都在成长。 开源是我认为软件最富魅力的部分,它给予我们阅读和修改源代码的自由。开源对人类和科技进步的贡献是巨大的,如今,大多数软件系统都有着各种各样开源软件的影子。开源代码对技术人员的成长有着难以估量的价值,例如,没有开源的Cocos2d-x,我就难以写出本书中的很多内容。 本书定位为一本进阶的书籍,它着重于讲述Cocos2d-x引擎各个功能及组件背后的实现原理。因此,本书并没有严格按照Cocos2d-x引擎本身的功能展开描述,而是从这些功能中抽象出一些设计或者架构层面的内容进行讨论。例如本书没有分别讲述精灵、地图、粒子特效等的接口使用,而是从纹理、渲染方式等多个方面来讲述这些元素背后的工作机制;而OpenGL ES、物理引擎和脚本等内容也几乎是可以脱离于Cocos2d-x进行学习和理解的。 这就是本书标题的来源,也是本书与同类书籍在内容编排上的最大不同。我希望写一本书,它可以让读者站在一个系统性的高度对游戏引擎的一些架构设计及实现进行理解,从而不但提升和扩充自己的知识结构,更能够在实际开发中去灵活解决各个层面的技术问题。本书同时追求系统性和实践性的平衡,例如对于纹理部分,除了总结纹理相关的所有知识,也通过一些示例来演示它在各个层面的具体使用。 本书共分18章。 第1~4章介绍了Cocos2d-x引…