Cocos2D-x权威指南
2013-4
机械工业出版社
满硕泉
无
前言为什么要写这本书在大学期间,我开始对移动游戏开发感兴趣,于是开始学习移动开发方面的相关知识,包括J2ME和Android等技术。现在,开始的好奇心和兴趣成就了我引以为豪的事业。在大四的时候,我到了天津猛犸实习,从J2ME平台到Android平台,从Android平台到iOS平台,我不仅接触了不同平台的开发,更学会了游戏开发的技巧和思想。如果说编程是一门艺术,那么游戏开发就是艺术中的艺术。作为一名游戏开发程序员,不仅要拥有熟练的编程技巧,还要对美术、策划和游戏有深入的理解。游戏程序员最重要的是游戏编程思想,因此当决定写这本书的时候,我深知不仅要分享Cocos2D-x相关的知识,更要分享游戏开发思想。作为从J2ME手机游戏时代走过来的开发者,我深知移动平台游戏可移植性的重要。J2ME这项技术的学习相对简单,应用这项技术进行开发的速度也比较快,而且当时几乎所有手机平台都支持Java,所以“一次编码,到处运行”也就不是梦想了。但是由于受机型的硬件性能所限,不同的平台在移植上也需要下一番工夫,针对不同屏幕、不同内存,往往需要开发不同的版本。当时的开发者根据经验,往往把很多种机型分组处理,为每组开发一个模板,然后再针对在不同机型上的运行情况做不同的调整,从而形成一种相对高效的开发模式。尽管在这个阶段手机设备的硬件水平普遍偏低,但是开发者经常可以通过美术、程序、策划三方的配合,开发出具有非常好的效果的游戏。由于J2ME的学习和开发都很简单,因此很少有成型的引擎,只是不同的游戏对应不同的框架。随着苹果iOS系统和iPhone、iPad等一系列产品的发布,随着Android系统和相应设备的诞生,移动平台的种类得到了丰富,并从单一的手机发展到平板电脑等多种手持设备上。而移动游戏的开发方式同样也有了改变,开发者们开始尝试针对不同平台的开发框架来进行开发。智能平台的硬件及性能的提高并没有带来游戏品质的提高,于是开发者们也探索着进行只针对单一平台的开发,他们利用平台特性(多点触屏,重力感应等)开发出了很多不错的游戏。虽然Android平台的屏幕及分辨率也是千差万别,但是由于出色的框架使得开发和移植变得简单起来,同时也不需要过多考虑内存的限制。但是问题依然存在,对于不同的智能平台(Android、iOS等操作系统)依然需要编写不同的代码来进行开发,如何跨平台这个问题摆在了开发者面前。跨平台的引擎有基于HTML5的跨平台特性产生的开发引擎,也有基于OpenGL开发的游戏引擎,其中Cocos2D-x广泛受到开发者的关注,因为它不仅具有跨平台的特点,还具有受Cocos2D全球社区的支持、框架简单易学、十分容易上手等特点。经过一段时间的发展,开发者使用Cocos2D-x开发出了多款成功的游戏,包括捕鱼达人、地铁总动员等佳作。2012年年初,Cocos2D-x团队再次开发出两个分支,分别是支持Windows Phone的XNA版和支持HTML5的HTML5版,后者还得到了Google的赞助。在Zynga的帮助下,Cocos2D-x正在研发绑定JavaScript的Cocos2D-x2.0版本。随着Cocos2D及其分支的发展,Cocos2D会有更多跨平台特性,从而可以支持更多的平台,并且提高开发者的开发效率。相信Cocos2D-x将会更加受到广大开发者的欢迎。正因为这样,2011年年底我开始接触Cocos2D-x引擎,并在我的CSDN博客上(博客地址:http://blog.csdn.net/bill_man)写了一些相关的文章,当初的目的就是为自学留下些笔记以供以后参考,因为当时的Cocos2D-x参考资料还不是很多。后来逐渐发展为把我学习中遇到的问题与大家分享。慢慢地,通过使用,我发现Cocos2D-x是一个对开发者十分友好的游戏引擎,于是我希望把自己引擎的使用经验结合游戏开发经验更系统、更全面的分享出来,于是就有了这本书。读者对象Cocos2D-x初级及中级开发者,了解C++语言和游戏开发的读者;没有接触过Cocos2D-x,但有过Cocos2D其他版本开发经验的开发者;没有Cocos2D-x和C++开发经验,但是有C、Java等语言开发经验的游戏程序员;相关项目的策划及管理人员;游戏开发爱好者;大专院校相关专业的师生。如何阅读本书本书分为四部分:第一部分(第1~2章)为准备篇,介绍了Cocos2D-x的下载与安装,以及交叉编译环境的搭建,为后面的开发做准备。第二部分(第3~10章)为基础篇,重点讲解了Cocos2D-x中的核心类、动作、动画、特效、文字、字体、事件处理、地图、声音以及物理引擎的使用,这部分结合Cocos2D-x自带的tests实例进行讲解,目的是让读者全面掌握Cocos2D-x的基础理论和基本使用。第三部分(第11~12章)为实战篇,采用Cocos2D-x分别开发了一款纵版射击游戏和横版动作游戏,旨在让读者深入了解Cocos2D-x的基础知识在游戏开发中的实战使用,而且这两款游戏分别代表了纵版卷轴和横版卷轴,可以让开发者深入了解不同类型游戏的开发思想。第四部分(第13~16章)为高级篇,在前面的章节基础上,介绍Cocos2D-x的粒子系统和相关粒子编辑器的使用,学习了Cocos2D-x实现常用的游戏算法、内存管理和调试方法,最后简单介绍了Cocos2D的一个新的分支—Cocos2D-HTML5。如果你是一名对Cocos2D-x有一定了解的开发者,可以从第3章开始阅读,而如果你是一个Cocos2D-x的初学者,请从第1章开始阅读。勘误和支持由于作者的水平有限,加之编写时间仓促,书中难免会出现一些错误或者不准确的地方,恳请读者批评指正。为了方便与大家交流,我专门申请了新浪微群,大家有问题可以在群中提出,我会及时解答的,我还会在群中及时更正书中的错误,我也会将相应的功能更新及时发布出来。书中的全部源文件可以从华章网站下载。如果你有更多的宝贵意见,也欢迎发送邮件,期待能够得到你们的真挚反馈。致谢首先感谢Cocos2D以及Cocos2D-x的开发团队,感谢他们为广大游戏开发者开发出一款如此优秀的游戏引擎。感谢我的“老东家”天津猛犸科技有限公司,感谢这家公司对我的锻炼和栽培,使我对游戏开发由“好奇”变成“爱好”,感谢公司中我的老师和好战友们,感谢他们和我并肩作战的日子,我在他们身上学到的东西让我对游戏开发有了更深的认识和热爱。感谢天津大学以及我的老师和同学们,尤其是我的编程启蒙老师罗凯先生。感谢CSDN网站上每一位阅读我文章的网友们,是你们给了我信心,让我一直写下去。感谢实战篇中游戏实例的美术人员:其中第11章游戏实例的美术人员为许鹏,第12章游戏实例的美术人员为李祖一。感谢机械工业出版社华章公司的杨福川和白宇,感谢二位老师在这一段时间中始终支持我的写作,是他们的鼓励和帮助引导我顺利完成全部书稿。可以说没有二位老师的帮助和支持,我不会有勇气写这本书。感谢我的爷爷和奶奶,他们是我人生的启蒙老师,尽管他们已经离开这个世界,但是我依然能感受到他们对我的支持和爱。最后感谢我的父母,他们不仅含辛茹苦抚养我长大,还教会我很多做人的道理,为了他们我要更加努力。谨以此书献给我最亲爱的家人,以及众多热爱游戏开发和Cocos2D-x的朋友们!满硕泉(bill_man)于中国天津
《Cocos2D-x权威指南》是目前Coco2D-x领域内容较为全面、系统和极具实战性的一本著作,也是技术版本最新的一本著作。由国内资深的游戏开发工程师和移动应用开发工程师撰写。书中不仅系统讲解了Cocos2D-x的功能特性、使用方法、技术要点、高级知识、开发技巧、最佳实践和性能优化,还通过精心设计的游戏案例详细讲解了Cocos2D-x游戏设计与开发的完整过程,极具启发性和可操作性。更为重要的是,《Cocos2D-x权威指南》将游戏开发人员应该掌握的游戏开发思想也融入了其中。
全书共16章,分为4个部分:准备篇(第1~2章)系统介绍了Cocos2D-x的核心概念、主要功能,以及它在Windows、Android、iOS等平台下的安装、配置、交叉编译环境的搭建,为后面的开发做准备;基础篇(第3~10章)重点讲解了Cocos2D-x的功能特性、使用方法、技术要点,包括Cocos2D-x中的核心类、动作、动画、特效、文字和字体、事件处理机制、地图、声音以及物理引擎等内容,具体结合Cocos2D-x自带的tests实例进行讲解,目的是让读者全面掌握Cocos2D-x的基础理论和基本使用方法;实战篇(第11~12章)利用Cocos2D-x开发了一款纵版射击游戏和横版动作游戏,旨在让读者深入了解完整的游戏开发流程和方法,以及如何将Cocos2D-x的理论知识用到实战中,而且两种游戏分别代表了纵版卷轴和横版卷轴,可以让开发者深入了解不同类型游戏的开发思想;高级篇(第13~16章)讲解了Cocos2D-x的高级知识、开发技巧以及最佳实践,包括粒子系统、游戏中常用算法在Cocos2D-x中的实现、内存管理与性能优化,以及Cocos2D-HTML 5等方面的内容。
海报:
满硕泉(bill man),资深手机游戏开发工程师和移动应用开发工程师,在Android和iOS两个平台上开发了多款游戏,对Cocos2D-x和Unity3D等游戏引擎有非常深入的研究,积累了丰富的经验。精通C++、Java、.NET和JavaScript相关的技术,近期关注HTML 5。活跃于CSDN和Cocos2D等技术社区,撰写了大量关于Cocos2D-x的文章,深受广大网友好评。
前言 第一部分准备篇 第1章认识Cocos2D—x2 1.1什么是Cocos2D2 1.1.1Cocos2D的特点2 1.1.2Cocos2D的主要功能3 1.1.3Cocos2D的应用5 1.2什么是Cocos2D—x6 1.2.1Cocos2D—x的特点6 1.2.2Cocos2D—x的主要功能6 1.2.3Cocos2D—x的应用7 1.3Cocos2D—x与Cocos2D—iPhone的比较8 1.4本章小结10 第2章搭建跨平台的开发环境11 2.1Windows下的开发环境配置11 2.1.1Cocos2D—x软件安装与配置11 2.1.2Cocos2D—x工程目录介绍13 2.1.3新建项目及交叉编译14 2.2Android下的开发环境配置16 2.2.1Cocos2D—x软件安装与配置17 2.2.2Cocos2D—x工程目录介绍23 2.2.3新建项目及交叉编译23 2.3iOS下的开发环境配置27 2.3.1Cocos2D—x软件安装与配置27 2.3.2Cocos2D—x工程目录介绍28 2.3.3新建项目及交叉编译29 2.4使用Doxygen工具生成Cocos2D—x文档31 2.5本章小结33 第二部分基础篇 第3章Cocos2D—x中的核心类36 3.1节点类36 3.1.1CCNode类的成员数据37 3.1.2CCNode类的函数38 3.1.3坐标系简介41 3.1.4实例:通过节点控制屏幕中的全体渲染对象43 3.2导演类46 3.2.1CCDirector类的成员数据46 3.2.2CCDirector类的函数47 3.2.3实例:CCDirector类的使用48 3.3场景类50 3.3.1如何新建一个场景50 3.3.2场景的切换52 3.3.3场景间切换的动画54 3.4布景层类56 3.4.1CCLayer类的函数58 3.4.2颜色布景层类CCLayerColor59 3.4.3多层布景层类CCLayerMultiplex61 3.4.4菜单类CCMenu63 3.4.5控件类及其子类65 3.5精灵类69 3.5.1CCSprite类的成员数据及函数70 3.5.2贴图类CCTexture2D71 3.5.3精灵批处理类CCSpriteBatchNode72 3.5.4精灵帧类CCSpriteFrame73 3.5.5精灵帧缓存类CCSpriteFrameCache73 3.5.6实例:精灵类及其相关类的使用74 3.6摄像机类79 3.6.1CCCamera类的成员数据80 3.6.2CCCamera类的函数80 3.6.3实例:CCCamera类的使用80 3.7容器类81 3.7.1CCMutableArray和CCArray81 3.7.2CCMutableDictionary和CCDictionary83 3.8拖动渐隐效果类CCMotionStreak84 3.9绘制图形86 3.10时间调度88 3.11本章小结89 第4章Cocos2D—x中的动作、特效与动画90 4.1动作类90 4.1.1CCAction类的主要成员数据和函数90 4.1.2基本动作91 4.1.3摄像机动作102 4.1.4基本样条动作104 4.1.5缓冲动作108 4.1.6组合动作111 4.1.7跟随动作113 4.1.8可调整速度动作114 4.1.9动作延时116 4.1.10改变动作执行对象116 4.1.11函数回调动作117 4.1.12过程动作119 4.2动作管理类121 4.2.1CCActionManager类的主要函数122 4.2.2CCActionManager类的使用122 4.3网格动作123 4.3.1Cocos2D—x中的网格123 4.3.2网格动作124 4.3.3清除网格126 4.4动画126 4.4.1Cocos2D—x中与动画相关的类126 4.4.2实例:Cocos2D—x中的动画127 4.4.3使用plist配置文件实现动画130 4.5本章小结133 第5章Cocos2D—x中的菜单项和文本渲染系统134 5.1菜单项134 5.1.1标签菜单项134 5.1.2精灵菜单项135 5.1.3触发器菜单项135 5.1.4实例:菜单项的使用136 5.2文本渲染类138 5.2.1CCLableAtlas类139 5.2.2CCLabelTTF类140 5.2.3CCLabelBMFont类143 5.2.4生成FNT配置文件的工具144 5.3本章小结145 第6章Cocos2D—x中的事件处理机制146 6.1触屏事件146 6.1.1触点类CCTouch146 6.1.2单/多点触摸函数147 6.1.3加入触摸事件148 6.1.4单点触摸实例:主角随手指移动151 6.1.5多点触摸实例:缩放功能的实现154 6.2加速度传感器事件156 6.2.1CCAccelerometerDelegate类的函数156 6.2.2实例:加速度传感器事件的使用157 6.3按键事件159 6.3.1CCKeypadDelegate类的函数159 6.3.2实例:按键事件的使用159 6.4获得用户虚拟键盘输入161 6.4.1CCIMEDelegate类的函数161 6.4.2CCTextFieldTTF类的函数161 6.4.3实例:获得用户输入162 6.5滚动列表类163 6.5.1CCListView类及其相关类的函数163 6.5.2实例:滚动列表类的使用164 6.6本章小结167 第7章Cocos2D—x中的瓦片地图集168 7.1瓦片地图集及编辑器168 7.1.1瓦片地图的种类及用途168 7.1.2Tiled地图编辑器169 7.1.3用Tiled地图编辑器编辑地图170 7.1.4添加精灵层173 7.1.5Tiled地图编辑器数据文件173 7.1.6瓦片地图集类CCTMXTiledMap174 7.1.7地图层类CCTMXLayer175 7.1.8地图精灵组类CCTMXObjectGroup176 7.2如何在Cocos2D—x中使用地图176 7.2.1新建地图类并在地图中显示177 7.2.2普通视角地图获得对应位置图素178 7.2.345度角地图获得对应位置图素179 7.2.4GID值实例:种树180 7.2.5地图属性数据的使用182 7.2.6在地图中加入精灵182 7.2.7精灵层的使用186 7.3贴图地图类CCTileMapAtlas188 7.4本章小结189 第8章Cocos2D—x中的声音、存储和网络190 8.1声音190 8.1.1Cocos2D—x在不同平台下支持的声音190 8.1.2SimpleAudioEngine类的常用函数191 8.1.3实例:SimpleAudioEngine类的使用191 8.2游戏存档194 8.2.1CCUserDefault类的常用函数195 8.2.2实例:CCUserDefault类的使用195 8.3网络连接197 8.3.1cURL基础知识198 8.3.2libcurl基础知识198 8.3.3实例:cURL的使用200 8.4本章小结200 第9章可视化场景编辑器202 9.1CocosBuilder简介202 9.2CocosBuilder编辑器的使用202 9.2.1CocosBuilder菜单操作202 9.2.2对象属性编辑206 9.3CocosBuilder的使用210 9.3.1CocosBuilder在Cocos2D—x中使用的相关类210 9.3.2实例:CocosBuilder在Cocos2D—x中的使用212 9.4本章小结218 第10章Cocos2D—x中的物理引擎219 10.1物理引擎219 10.1.1什么是物理引擎219 10.1.2物理引擎的作用219 10.1.3Box2D和Chipmunk的对比220 10.2Box2D物理引擎220 10.2.1Box2D引擎中的重要概念221 10.2.2Box2D的使用步骤221 10.2.3在Cocos2D—x中使用Box2D221 10.3在Cocos2D—x中使用Chipmunk229 10.4本章小结233 第三部分实战篇 第11章纵版射击游戏:喵星战争236 11.1纵版射击游戏的特点236 11.2喵星战争简介237 11.2.1喵星战争的游戏规则237 11.2.2喵星战争的游戏框架和界面237 11.3喵星战争主游戏模块组成元素的实现239 11.3.1主角小猫的实现239 11.3.2敌人狗博士的实现244 11.3.3鱼骨子弹的实现247 11.3.4试管子弹的实现248 11.3.5游戏分数的实现248 11.4游戏主模块的实现251 11.5游戏主菜单的实现256 11.6关于界面的实现259 11.7本章小结260 第12章横版动作游戏:萝莉快跑261 12.1横版动作游戏的特点261 12.2萝莉快跑简介262 12.2.1萝莉快跑的游戏规则262 12.2.2萝莉快跑的游戏框架和界面262 12.3萝莉快跑主游戏模块组成元素的实现264 12.3.1主角萝莉的实现264 12.3.2星星的实现268 12.3.3地图的实现269 12.4游戏主模块的实现273 12.5游戏主菜单的实现277 12.6关于界面的实现279 12.7本章小结280 第四部分高级篇 第13章粒子系统282 13.1什么是粒子系统282 13.1.1粒子系统的特点283 13.1.2粒子系统的构成283 13.2Cocos2D—x中的粒子系统283 13.2.1粒子系统基类CCParticleSystem285 13.2.2放射式粒子系统CCParticleSystemQuad285 13.3在Cocos2D—x中使用粒子系统287 13.3.1新建一个粒子系统CCParticleSystemQuad类287 13.3.2直接使用CCParticleSystemQuad类的子类创建粒子系统289 13.3.3使用粒子编辑器创建粒子系统290 13.3.4“清理”粒子系统291 13.4支持Cocos2D—x的粒子编辑器291 13.4.1Windows粒子编辑器Cocos2dParticleEditor292 13.4.2粒子编辑器ParticleDesigner296 13.5本章小结303 第14章游戏中常用算法在Cocos2D—x中的实现304 14.1A星算法304 14.1.1启发式搜索算法原理304 14.1.2什么是A星搜索305 14.1.3A星算法在Cocos2D—x中的实现306 14.2碰撞检测318 14.2.1碰撞检测的基本思想319 14.2.2碰撞检测在Cocos2D—x中的实现320 14.3本章小结326 第15章内存管理与性能优化327 15.1Cocos2D—x中的内存管理327 15.1.1Cocos2D—x内存管理的原则327 15.1.2Cocos2D—x中的图片处理328 15.2Cocos2D—x对图片渲染的控制330 15.2.1CCRenderTexture的使用330 15.2.2Cocos2D—x中绘制方法的对比332 15.3Cocos2D—x中处理图片的方法333 15.3.1高清图片的处理333 15.3.2抗锯齿处理334 15.3.3Mipmap处理335 15.3.4获得贴图数和大小337 15.4多语言混编Cocos2D—x337 15.4.1Cocos2D—x中调用Objective—C337 15.4.2Cocos2D—x中调用Java338 15.5Cocos2D—x的调试339 15.5.1VisualStudio中的调试方法339 15.5.2Eclipse中的调试方法339 15.5.3Xcode中的调试方法342 15.6Android中画面的缩放问题346 15.6.1等比例缩放346 15.6.2非等比例缩放346 15.7本章小结348 第16章Cocos2D的分支Cocos2D—HTML5349 16.1认识HTML5349 16.2如何使用Cocos2D—HTML5350 16.2.1搭建Cocos2D—HTML5的开发环境351 16.2.2Cocos2D—HTML52.0版本的新特性355 16.2.3Cocos2D—HTML5的HelloWorld项目介绍355 16.3Cocos2D—x的未来363 16.4本章小结363 附录Cocos2D—x中常见的宏365
版权页: 插图: 动作:可组合精灵的动作(如移动、旋转和缩放等),使精灵动起来。 特效:包括波浪、旋转和透镜等特性。 平面地图:支持平面地图和45度角地图。 转换:从一个场景移动到另外一个不同的场景。 菜单:创建内部菜单,包括主菜单和游戏菜单。 文本渲染:支持文本渲染标签。 文档:包括编程指南、API参考、视频教学和很多简单的测试例子。 BSD许可:BSD(Berkly Software Distribution,伯克利软件套件)开源协议给予使用者很大的自由。使用者可以自由使用、修改源代码,也可以将修改后的代码作为开源或者专有软件再次发布。 基于OpenGL:支持硬件加速。 2012年6月,Cocos2D—x发布了2.0版本(本书成书之时的最新版本是2.01版本,本书的示例也将使用2.01版本)。 Cocos2D—x的2.0以上版本采用OpenGL ES的2.0分支,支持CocosBuilder编辑器,并且支持一些扩展类,包括CCControlExtension、CCNotification、CCListView等,还支持JavaScript脚本的编写,并且最新版本只支持iOS、Android和Win32三个平台。图1—9所示是国外网友为Cocos2D—x制作的广告,说明了Cocos2D—x对于iOS和Android两个主流平台的支持。 1.2.3 Cocos2D—x的应用 由于跨平台的特性,Cocos2D—x得到了诸多开发者的喜爱。截至2012年4月月底,使用Cocos2D—x开发的游戏有200多个,同时有很多用Cocos2D—iPhone开发的游戏的移植版本。图1—10所示为使用Cocos2D—x开发的部分游戏。 开发者也尝试着使用Cocos2D—x实现很多不同游戏中的效果。CocoaChina论坛举办的特效大赛中,很多特效都基于Cocos2D—x游戏引擎开发。从显示水波纹效果到塔防游戏例子,从切绳子特效到“愤怒小鸟”太空版效果模拟,Cocos2D—x的“江湖霸主”地位初步显现。图1—11所示为部分特效示意图。偏移量等,如图7—5所示。 3)选择完成图块后,左下角的部分就显示了目前的图块,选择相应图块便可以填充某图了,如图7—6所示。 4)可以右键选择图块添加属性,弹出的对话框如图7—7所示,图块的数据可以在程序中获得。关于如何获得,将在后面详细介绍。 5)工具栏中提供了不同工具填充,包括图章刷、填充、橡皮擦和选择矩形区域等。可以使用图章刷为每个格填充图素,填充是批量地填充图素,橡皮擦可以擦掉之前的填充图素,如图7—8所示。 6)屏幕的右上角为图层编辑部分,如图7—9所示。
《Cocos2D-x权威指南》是资深游戏开发工程师根据Cocos2D-x的2.0.1版本撰写,内容全面,系统讲解了Cocos2D-x的功能特性、使用方法、技术要点、开发技巧、最佳实践以及性能优化,同时融入了游戏开发的思想;实战性强,每个知识点辅之以便于理解的小案例,而且通过精心设计的两款游戏案例完美呈现了Cocos2D-x游戏设计与开发的完整过程,极富启发性。
无
从开心到失落,到后悔,到愤青!有编程经验的,根本没有必要买这本书,无论你是有过什么编程经验!此书内容,搭建环境和基础部分、实战篇、高级篇唯一让我觉得详细的是搭建环境部分,但这些知识我google一下也是很容易解决的!基础部分:全部都是官方网站上的例子,而且还不是完整的!不如直接看官方网站的例子,还可以调试呢!而且内容过于简单、累赘,(基础部分)基本上就是将官方网站的例子抄了下来,然后中文翻译了一遍!实战篇:两个游戏例子,没有图片没有光碟,要去官网下载,而且还不是能够直接运行的!我不知道是我坑,还是书坑!高级篇:对于我这样的低手,不敢目睹!最后想说一句,只有自己会英文的时候,能够看到比较好的计算机相关的书籍!51.8元,花的我一点的都不舒服!强烈建议有编程经验的人,去寻找其他书籍!nb的人写书为了赚钱,认同;nb的人写书为了坑钱,坑爹;nb的人写书,没有责任感,愤怒;(当然我写的这条评论100%会被弄掉,但是我会告诉我所有的朋友此书不能买。愤怒)
这真是一本奇书啊,看了前几章实在看不下去了,刚开始全讲环境搭建,网上都可以搜到的资料,然后后面开始讲引擎的框架结构,大幅大幅的从API文档里复制粘贴过来,什么成员变量啊,成员函数啊,翻的我都手疼啊,这哪是写书啊,直接就是抄书啊,失望透顶啊, 初学者看看吧,不要抱太大希望啊。
先后买了《Cocos2d 权威指南》和 《Cocos2d-x 权威指南》,本书应该是作者把自己的博客整理了一下,里面的部分内容有点老,比如:CCListView的介绍,新版本中已经没有此类了。。。。。。
说实话,很垃圾.........就是纯粹的翻译成中文的api,而且翻译的还很烂,买了看了1个星期就不看了。自己又买了本其他的cocos2d-x书看。。。。(制作自己的捕鱼达人),,,最气人的是,这本书没有自己的东西,内存管理那张纯粹是网上一篇博客,就改了几句话,就成书中的一章了,,我晕啊,真坑,,,而且书中,对概念说明不清,代码只是用的cocos2d-x中的TestCpp 中的代码,我想看一两句代码还要把大半个项目代码看一遍,,作者就不能写点自己的东西,写几句精短的小例句啊,,,整本书,要不就是从网上博客抄袭,要不就是粘贴TestCpp中的代码,没有多少自己的东西。。。真不该叫权威指南,叫参考还差不多。。。。
第一次忍不住写评论 这书写的太烂了 代码是网上的 API是抄的网上的 讲解很模糊 估计作者也不懂 这就敢出书了
不错,学习了很多知识
=-= 倒萨大萨达萨达是
不错,讲的挺详细的!
内容不错,适合入门的开发者。
刚开始学习,不敢作太多的评论,避免误导别人,不过目前这方面的书比较少,先看看早说
挺不错的书,可以买一下看看
一般吧!其实上面讲的网上都能找到!
很失望。。。。。。。看完跟没看一样。没有代码的实例,没有项目API翻译+代码段,不具备任何实际意义不是很着急的朋友,建议等等更好的书出来,这本书不说骗钱,至少没有指导意义