| 图书基本信息 | |
| 图书名称 | Cocos2d-x游戏实战指南 |
| 作者 | 李宁 |
| 定价 | 79.00元 |
| 出版社 | 清华大学出版社 |
| ISBN | 9787302447849 |
| 出版日期 | 2016-10-01 |
| 字数 | |
| 页码 | |
| 版次 | 1 |
| 装帧 | 平装 |
| 开本 | 16开 |
| 商品重量 | 0.4Kg |
| 内容简介 | |
| 本书深入系统地讲解了Cocos2d�瞲 3.10游戏开发的理论与实践,书中内容涵盖了Cocos2d�瞲 3.x各方面的知识点与示例分析。这些内容包括如何搭建Cocos2d�瞲的开发环境(iOS和Android平台)、Cocos2d�瞲的工程结构、核心类和相关的API、标签、菜单、控件、本地化、事件处理机制、网络技术、动作、调度、绘图API、动画、存储技术、Sprite3D、瓦片地图、粒子系统、物理引擎、骨骼动画、Objective�睠、Swift、C 和Java交互的方式。本书的8章提供了一个完整的案例——星空大战,这个案例是一款完整的射击类游戏,类似于雷电游戏。该游戏使用了本书介绍的基本知识点,通过这个案例,读者可以更进一步巩固基本理论知识。 |
| 作者简介 | |
| 李宁 曾获东北大学计算机专业硕士学位,拥有超过20年软件开发经验、7年移动应用和手机游戏开发经验,欧瑞科技创始人&CEO;。获得CVP(Cocos有价值专家)荣誉称号。长期担任企业内训讲师(已经为上百家企业提供了移动开发培训,培训学员数千名)、高级技术顾问。10年来,出版过超过30本IT图书,并在个人撰写了1000万字以上的技术文章。在移动开发领域有极其丰富的经验,领导过团队开发了大量的移动App及游戏产品。先后为多家培训机构开设了移动开发就业课程,被聘为51CTO学院特级讲师。截至目前,已经发布了53个课程 ,累计2279个课时,包括“完全征服React Native”“从零开始掌握Cocos2d-x 3.x”“/ES6/ES7系列课程”“iOS8/iOS9系列视频课程”“苹果Swift语言开发精品套餐课程”等,累计培训学员近50万人,好评率达96%。本书配套视频教程《Cocos2d-x 3.x系列》也在51CTO学院发布,自上线以来已有近20万名学员学习,受到了51CTO社区广大开发者的一致推崇。 |
| 目录 | |
| 目录 章初识Cocos2d�瞲 1.1跨平台的由来 1.2跨平台开发模式的种类和优缺点 1.2.1虚拟机与跨平台技术 1.2.2Web与跨平台技术 1.2.3跨平台编译技术 1.2.4为每个平台定制本地应用 1.3跨平台游戏引擎 1.3.1什么是跨平台游戏引擎 1.3.2有哪些游戏引擎可以跨平台 1.4Cocos2d�瞲横空出世 1.4.1Cocos2d�瞲的前世今生 1.4.2Cocos2d�瞲的特点 1.5小结 第2章搭建和使用跨平台Cocos2d�瞲开发环境 2.1使用Cocos2d�瞲开发游戏需要准备些什么 2.2Cocos2d�瞲 3.10开发环境的低要求 2.3让Eclipse支持C 11 2.4Cocos2d�瞲 3.10开发环境的安装、配置和使用 2.4.1Cocos2d�瞲 3.10的目录结构 2.4.2使用cocos建立跨平台工程 2.4.3编译和运行Cocos2d�瞲 3.10 for iOS/Mac程序 2.4.4编译和运行Cocos2d�瞲 3.10 for Android程序 2.4.5编译和运行Cocos2d�瞲 3.10 for Win32程序 2.5Cocos2d�瞲 3.10例子代码的使用 2.6小结 第3章Cocos2d�瞲默认工程模板的架构和源代码分析 3.1Cocos2d�瞲实现跨平台的原理 3.2默认场景类HelloWorldScene的实现原理分析 3.3控制横竖屏切换 3.4小结 第4章Cocos2d�瞲中的核心类 4.1导演类(Director) 4.1.1Director类与初始化Cocos2d�瞲 4.1.2结束、暂停与恢复Cocos2d�瞲程序 4.1.3获取窗口的尺寸和位置 4.1.4Director类中的其他成员方法 4.2节点类(Node) 4.2.1节点类的功能 4.2.2节点类的成员方法 4.2.3Cocos2d�瞲对象的创建、自动释放(Autorelease)与ARC 4.2.4CREATE_FUNC宏与create方法 4.2.5Cocos2d�瞲中的坐标系 4.2.6节点的移动、缩放和旋转 4.3场景类(Scene) 4.3.1创建场景 4.3.2运行和切换场景 4.3.3场景切换的各种特效 4.4图层类(Layer) 4.4.1Layer类的基本应用 4.4.2Layer的子类 4.4.3颜色图层类(LayerColor) 4.4.4颜色渐变图层类(LayerGradient) 4.4.5多图层管理类(LayerMultiplex) 4.5精灵类(Sprite) 4.5.1Sprite类 4.5.2贴图类(Texture2D)和贴图缓冲类(TextureCache) 4.5.3精灵批处理类(SpriteBatchNode) 4.5.4精灵框架类(SpriteFrame) 4.5.5精灵框架缓冲类(SpriteFrameCache) 4.5.6九宫格缩放精灵类(Scale9Sprite) 4.6集合类(Vector和Map) 4.7小结 第5章标签、菜单与控件 5.1标签类 5.1.1LabelTTF标签(使用TTF字体文件) 5.1.2LabelAtlas标签(需要截取图像) 5.1.3LabelBMFont标签(使用FNT字体文件) 5.1.4生成FNT字体文件 5.2菜单(Menu)与菜单项(MenuItem) 5.2.1Menu类 5.2.2标签菜单项(MenuItemLabel) 5.2.3字体菜单项(MenuItemFont) 5.2.4精灵菜单项(MenuItemSprite) 5.2.5图像菜单项(MenuItemImage) 5.2.6开关菜单项(MenuItemToggle) 5.3控件 5.3.1UI布局(Layout) 5.3.2文本控件(Text、TextAtlas和TextBMFont) 5.3.3按钮控件(Button) 5.3.4文本输入框控件(TextField) 5.3.5高级文本输入框控件(EditBox) 5.3.6复选框控件(CheckBox) 5.3.7开关控件(ControlSwitch) 5.3.8图像框控件(ImageView) 5.3.9进度条控件(LoadingBar) 5.3.10滑杆控件(Slider) 5.3.11高级滑杆控件(ControlSlider) 5.3.12步进控件(ControlStepper) 5.3.13列表控件(ListView) 5.3.14表格控件(TableView) 5.3.15滚动视图控件(ScrollView) 5.3.16分页控件(PageView) 5.3.17颜色选择控件(ControlColourPicker) 5.4小结 第6章本地化 6.1自适应屏幕分辨率 6.1.1尺寸类型及屏幕适配原理 6.1.2Cocos2d�瞲中的各种尺寸深度详解 6.1.3分辨率策略(ResolutionPolicy) 6.1.4通过设计尺寸进行屏幕适配 6.1.5通过内容缩放因子进行屏幕适配 6.1.6为每一个Node单独调整尺寸 6.2Cocos2d�瞲多语言适配 6.3小结 第7章Cocos2d�瞲中的事件处理机制 7.1触摸事件与移动节点 7.2多点触摸 7.3键盘响应事件 7.4鼠标响应事件 7.5加速度传感器事件 7.6自定义事件 7.7小结 第8章网络技术 8.1HttpClient类 8.1.1发送 Get请求 8.1.2发送Http Post请求 8.2WebSocket类 8.3SocketIO类 8.4小结 第9章Cocos2d�瞲中的动作类 9.1所有动作的基类(Action) 9.2位置(Position)动作 9.2.1沿直线匀速移动动作(MoveBy/MoveTo) 9.2.2跳跃动作(JumpBy/JumpTo) 9.2.3贝塞尔曲线动作(BezierBy/BezierTo) 9.2.4固定张力的样条曲线动作(CatmullRomBy/CatmullRomTo) 9.2.5可变张力的样条曲线动作(CardinalSplineBy/CardinalSplineTo) 9.3旋转与缩放动作 9.3.1旋转动作(RotateBy/RotateTo) 9.3.2缩放动作(ScaleBy/ScaleTo) 9.4执行规则动作 9.4.1顺序执行动作(Sequence) 9.4.2并行动作(Spawn) 9.4.3重复执行动作(Repeat) 9.4.4无限循环动作(RepeatForever) 9.4.5反序动作(ResverseTime) 9.5控制节点显示和隐藏的动作 9.5.1闪烁动作(Blink) 9.5.2淡入淡出动作(FadeIn/FadeOut) 9.5.3透明度渐变动作(FadeTo) 9.5.4颜色渐变动作(TintBy/TintTo) 9.6可立即执行的动作 9.7回调函数动作(CallFunc/CallFuncN) 9.8变速动作(Ease Action) 9.8.1幂加速动作(EaseIn) 9.8.2幂减速动作(EaseOut) 9.8.3幂加速减速动作(EaseInOut) 9.8.4指数加速动作(EaseExponentialIn) 9.8.5指数减速动作(EaseExponentialOut) 9.8.6指数加速减速动作(EaseExponentialInOut) 9.8.7正弦加速动作(EaseSineIn) 9.8.8正弦减速动作(EaseSineOut) 9.8.9正弦加速减速动作(EaseSineInOut) 9.8.10弹性加速动作(EaseElasticIn) 9.8.11弹性减速动作(EaseElasticOut) 9.8.12弹性加速减速动作(EaseElasticInOut) 9.8.13弹跳加速动作(EaseBounceIn) 9.8.14弹跳减速动作(EaseBounceOut) 9.8.15弹跳加速减速动作(EaseBounceInOut) 9.8.16回退加速动作(EaseBackIn) 9.8.17回退减速动作(EaseBackOut) 9.8.18回退加速减速动作(EaseBackInOut) 9.9网格动作(Grid Action) 9.9.1实现测试网格动作的基类 9.9.22D波浪动作(Waves) 9.9.33D波浪动作(Waves3D) 9.9.4水平3D翻转动作(FlipX3D) 9.9.5垂直3D翻转动作(FlipY3D) 9.9.63D震动动作(Shaky3D) 9.9.73D透镜动作(Lens3D) 9.9.83D波纹动作(Ripple3D) 9.9.9流体动作(Liquid) 9.9.10旋转变形动作(Twirl) 9.9.113D瓦片震动动作(ShakeTiles3D) 9.9.123D瓦片破碎动作(ShatteredTiles3D) 9.9.133D瓦片洗牌动作(ShuffleTiles) 9.9.14瓦片从左下角到右上角淡出动作(FadeOutTRTiles) 9.9.15瓦片从右上角到左下角淡出动作(FadeOutBLTiles) 9.9.16瓦片向上淡出动作(FadeOutUpTiles) 9.9.17瓦片向下淡出动作(FadeOutDownTiles) 9.9.18关闭瓦片动作(TurnOffTiles) 9.9.193D波浪瓦片动作(WavesTiles3D) 9.9.203D跳跃瓦片动作(JumpTiles3D) 9.9.21拆分行动作(SplitRows) 9.9.22拆分列动作(SplitCols) 9.9.233D翻页动作(PageTurn3D) 9.10其他动作 9.10.1绑定节点和动作(TargetedAction) 9.10.2扭曲动作(SkewBy和SkewTo) 9.10.3轨道照相机动作(OrbitCamera) 9.10.4延迟运行动作(DelayTime) 9.11小结 0章调度器、绘图API与动画 10.1调度器(Scheduler) 10.1.1update定时器调度 10.1.2设置update定时器的优先级 10.1.3自定义调度器 10.1.4停止调度器 10.2绘图API 10.3动画 10.3.1基于绘图API与调度器的动画 10.3.2帧(Frame)动画 10.4小结 1章数据存储技术 11.1使用UserDefault读写Key�睼alue类型的数据 11.2读写流文件 11.3操作XML文件 11.3.1使用tinyxml2生成XML文件 11.3.2使用tinyxml2以DOM方式读取XML文件 11.3.3使用SAXParser以SAX方式读取XML文件 11.4使用rapidjson读写JSON文件 11.5使用SQLite数据库 11.6小结 2章Sprite3D技术 12.1什么是Sprite3D 12.2Cocos2d�瞲支持哪些3D模型格式 12.3装载obj格式的3D模型文件 12.4装载和使用c3t和c3b格式的3D模型文件 12.4.1使用fbx�瞔onv将fbx转换为c3t和c3b格式 12.4.2旋转的3D怪物 12.4.3游泳的海龟 12.5小结 3章Cocos2d�瞲中的瓦片和地图 13.1瓦片和地图编辑器 13.1.1瓦片地图的种类和用途 13.1.2瓦片地图编辑器(Tiled Map Editor) 13.1.3用Tiled编辑地图 13.2在Cocos2d�瞲中使用地图 13.2.1在程序中显示地图 13.2.2隐藏和显示图层 13.2.3编辑图块 13.2.4获取图块的属性值 13.2.5在地图中添加精灵 13.2.6让精灵只在道路上移动 13.2.7改变遮挡关系(zOrder和PositionZ) 13.2.8拖动地图 13.2.9在45度角地图上种树 13.2.10使用对象层 13.3小结 4章粒子系统 14.1Cocos2d�瞲内置的标准粒子特效 14.1.1群星闪烁 14.1.2幽灵鬼火 14.1.3群星爆炸 14.2粒子特效属性详解 14.3自定义粒子特效 14.3.1五彩旋转戒指 14.3.2放大版的群星闪烁 14.4可视化粒子特效设计器 14.4.1Particle Designer(仅适用于OS X) 14.4.2Particle Editor(只适用于Windows系统) 14.5通过plist文件实现粒子特效 14.5.1彗星特效 14.5.2用plist文件实现放大版的群星闪烁 14.6燃烧的圣火 14.7小结 5章物理引擎 15.1物理引擎概述 15.1.1什么是物理引擎 15.1.2物理引擎在游戏中的地位 15.1.3Box2D和Chipmunk的对比 15.2Cocos2d�瞲 3.x中抽象封装的物理引擎 15.2.1抽象物理引擎概述 15.2.2使用抽象物理引擎创建Body(刚体) 15.3Android平台如何使用物理引擎 15.4改变Android和iOS平台默认的物理引擎 15.5碰撞检测 15.6只撞击一侧边缘的碰撞检测 15.7足球撞击特效 15.8骷髅堆中的足球 15.9用重力感应控制的足球 15.10小结 6章骨骼动画 16.1骨骼动画概述 16.2骨骼动画的优势 16.3Spine骨骼动画 16.3.1Spine骨骼动画简介 16.3.2在Cocos2d�瞲中使用Spine骨骼动画 16.3.3Spine简介 16.3.4用Spine导入骨骼动画图像资源 16.3.5完成图像的摆放 16.3.6绑定骨骼 16.3.7在骨骼上旋转图像 16.3.8设计骨骼动画 16.4Armature骨骼动画 16.4.1安装和运行Cocos Studio 16.4.2将图像导入工程 16.4.3使用图像资源 16.4.4创建骨骼 16.4.5绑定骨骼和图像 16.4.6设计骨骼动画 16.4.7导出骨骼动画 16.4.8在Cocos2d�瞲中使用骨骼动画 16.5小结 7章Objective�睠、Swift、C 和Java交互 17.1C 与Objective�睠的交互 17.1.1C 调用Objective�睠 API 17.1.2通过Objective�睠获取Web数据 17.1.3Objective�睠调用C API 17.1.4.mm文件到底起什么作用 17.2C 调用Swift API 17.2.1创建Swift文件 17.2.2编写Swift类 17.2.3自动生成的头文件的位置和命名规则 17.2.4自动生成的头文件的内容 17.2.5自动生成头文件非得用@objc吗 17.2.6用Objective�睠调用Swift API 17.2.7C 调用Swift API 17.3Swift调用Objective�睠 API 17.3.1在桥接头文件中引用Objective�睠的头文件 17.3.2在Swift源代码文件中调用Objective API 17.3.3Objective�睠调用Swift API 17.3.4声明和实现C 风格的方法 17.3.5C 调用Swift API 17.4Android平台多语言交互 17.4.1C 调用Java类的无参数静态方法 17.4.2C 调用有参数的静态Java方法 17.4.3C 调用Java类的非静态方法 17.4.4C 调用Java API向SQLite数据库中插入信息(获取Context对象) 17.4.5C 调用Java API查询SQLite数据库中的记录 17.4.6Java调用C API 17.5小结 8章项目实战: 星空大战 18.1游戏概述 18.2滚动背景 18.2.1滚动游戏背景 18.2.2让云彩在背景上移动 18.3创建战机 18.3.1创建战机类 18.3.2创建战机图层 18.3.3让战机移动 18.3.4为战机添加光子武器 18.3.5为战机添加激光束武器 18.3.6为战机添加带有自动跟踪功能的导弹 18.3.7让战机发射武器 18.4创建敌机 18.4.1创建小敌机 18.4.2创建大敌机 18.4.3敌机发送 18.5小结 |
| 编辑推荐 | |
| 文摘 | |
| |
| 序言 | |
这本书的叙事风格非常务实,几乎没有冗余的形容词或过度的赞美,每一句话似乎都在为提升代码质量服务。阅读过程中,我感觉自己像是在参与一场高手间的技术研讨会,作者用精确的术语和严密的逻辑陈述观点。特别是在涉及到图形渲染管线的那部分内容时,作者没有回避底层OpenGL/Metal的复杂性,而是巧妙地将这些底层知识融合成对Cocos2d-x渲染层如何优化的解释。这让我终于明白为什么某些特效在不同的设备上表现会有巨大的差异。对于追求极致性能的开发者而言,这本书提供了深入了解引擎内部工作原理的绝佳视角。它迫使你跳出“调用API”的思维定势,转而思考“引擎是如何实现我调用的这个功能的”,这种思维的转变是职业生涯中至关重要的一个里程碑。
评分这本书的封面设计着实吸引人,那种深邃的蓝色调配上充满科技感的字体,让人一眼就能感受到这是一本扎实的技术书籍。拿到手里沉甸甸的,光是重量就让人对里面的内容充满了期待。我原本对Cocos2d-x的了解仅限于一些零散的教程和社区帖子,总感觉知识体系不够系统,尤其是在处理复杂项目逻辑和性能优化方面,总有些摸不着头脑。这本书的排版非常清晰,章节之间的逻辑过渡自然流畅,仿佛作者是一位经验丰富的工程师,手把手地带着读者从基础概念一步步深入到实际的项目构建。特别是对不同模块间数据流向的讲解,简直是茅塞顿开,让我明白了那些看似独立的组件是如何协同工作的。书中的图示虽然不多,但每一张都恰到好处地解释了一个关键性的技术点,避免了纯文字描述的枯燥和晦涩。对于想从入门迈向精通的开发者来说,这种循序渐进的引导无疑是最高效的学习路径,它不是简单地罗列API,而是深入到“为什么”和“怎么做”的底层逻辑。
评分我一直寻找一本能够真正帮助我梳理并整合Cocos2d-x生态中各种工具链的书籍,市面上很多资料都是碎片化的,东拼西凑。而这本指南的宏大结构令人印象深刻。它不仅覆盖了核心引擎的使用,还非常深入地讲解了集成第三方库、打包发布流程,甚至包括了针对不同平台(iOS/Android)的特定适配策略。其中关于IDE配置和持续集成环境搭建的章节,简直是福音,省去了我大量摸索配置文件的宝贵时间。作者对版本迭代的兼容性处理也有独到的见解,让我对未来框架的升级维护有了更清晰的规划。总而言之,这不是一本可以用来“翻阅”的书,而是一本需要反复研读、实践、并在实际工作中随时查阅的参考手册,它的厚度和深度完全对得起它所承载的知识体系,绝对是Cocos2d-x技术栈中不可或缺的案头必备良书。
评分我特别欣赏作者在书中对“实战”二字的诠释。很多技术书籍谈“实战”,往往只是在书的最后附带了一个功能相对简单的Demo项目,但这本书不同,它贯穿始终的案例都具有相当的复杂度,真正反映了商业游戏开发中的常见痛点和解决方案。比如关于资源管理和异步加载的部分,作者没有采用简单的预加载策略,而是详细剖析了不同资源类型在内存和CPU占用上的权衡,并提供了一套成熟的资源回收机制。这种深度的剖析,远超出了我之前接触到的任何资料。记得在阅读到关于多人游戏网络同步那一章时,我停下来反复琢磨了好久,作者对TCP/UDP协议选择的论述非常中肯,并且给出了基于Cocos2d-x框架如何高效封装网络层的具体代码示例。这些都不是纸上谈兵,而是实打实经过项目检验的“套路”,学会了这些,感觉自己解决实际问题的能力都得到了质的飞跃。
评分坦率地说,这本书的阅读体验是需要一定基础的,它对初学者不太友好,因为它很少花笔墨去解释C++或游戏开发的基础概念,而是直接切入Cocos2d-x框架的核心机制。但这恰恰是我认为它价值所在的原因。对于已经掌握了基本编程语言和初步游戏开发概念的读者来说,这本书就像是一份定制的加速器。我印象最深的是关于场景切换和内存泄漏排查的章节。在过去的项目中,场景切换时的卡顿和偶发的闪退一直困扰着我,代码看起来都很干净,但问题就是找不到源头。这本书提供了一个系统化的调试流程和工具使用指南,让我清晰地看到哪个节点没有被正确释放,哪个对象在切换过程中被意外保留了引用。这种对细节的极致关注,体现了作者极高的专业素养和对读者负责的态度。它不是教会你如何写代码,而是教会你如何写出健壮、高效的代码。
本站所有内容均为互联网搜索引擎提供的公开搜索信息,本站不存储任何数据与内容,任何内容与数据均与本站无关,如有需要请联系相关搜索引擎包括但不限于百度,google,bing,sogou 等
© 2025 book.cndgn.com All Rights Reserved. 新城书站 版权所有