Cocos2d-x学习笔记:完全掌握C++ API与游戏项目开发出版时间:2016年版丛编项: 未来书库内容简介 本书系统论述了Cocos2dx游戏编程和开发技术,内容涵盖Cocos2dx中核心类、数据结构、瓦片地图、物理引擎、Audio引擎、内存管理等知识。全书分为17章,各章内容为: 本书约定、Cocos2dx环境搭建、Cocos2dx引擎、游戏中的文字、Cocos2dx中的数据结构、菜单、精灵、场景与层、动作和动画、用户事件、Audio引擎、粒子系统、瓦片地图、物理引擎、内存管理、Cocos2dx多分辨率屏幕适配和Cocos2dx敏捷开发项目实战——迷失航线手机游戏。 本书适合作为普通高校计算机、动漫设计、数字媒体等相关专业的游戏开发课程的教材,也适合作为手机游戏开发培训机构的培训教材及广大手机游戏开发者的自学参考用书。目录丛书序3序5前言7学习说明9第1章本书约定1.1使用实例代码1.2图示的约定1.2.1图中的箭头1.2.2图中的手势1.2.3图中的圈框1.3书中的UML图1.3.1类图1.3.2时序图第2章Cocos2dx环境搭建2.1下载Cocos2dx2.2搭建环境2.2.1基本工具安装2.2.2设置环境变量2.3开发Cocos2dx游戏的IDE工具2.3.1使用Visual Studio开发工具2.3.2使用Xcode开发工具本章小结第3章Cocos2dx引擎3.1Cocos2d家谱3.2Cocos2dx设计目标3.3第一个Cocos2dx游戏3.3.1创建工程3.3.2Visual Studio工程文件结构3.3.3Xcode工程文件结构3.3.4代码解释3.3.5Win32平台下设置屏幕3.3.6工程中添加资源文件3.4Cocos2dx核心概念3.4.1导演3.4.2场景3.4.3层3.5Node与Node层级架构3.5.1Node中的重要操作3.5.2Node中的重要属性3.5.3游戏循环与调度3.6Cocos2dx坐标系3.6.1UI坐标3.6.2OpenGL坐标3.6.3世界坐标和模型坐标本章小结第4章游戏中的文字4.1Cocos2dx中的字符串4.1.1使用const char*和std::string4.1.2使用cocos2d::String4.1.3Win32平台下的中文乱码问题4.2使用标签4.2.1使用Label类4.2.2标签中文无法正常显示的问题4.3位图字体制作4.3.1Glyph Designer工具4.3.2使用Glyph Designer制作位图字体本章小结第5章Cocos2dx中的数据结构5.1Cocos2dx中两大类——Ref和Value5.1.1Cocos2dx根类——Ref5.1.2包装类Value5.2Ref列表数据结构5.2.1Array数据结构5.2.2实例: Array数据结构5.2.3Vector数据结构5.2.4实例: Vector数据结构5.3Ref字典数据结构5.3.1Dictionary数据结构5.3.2实例: Dictionary数据结构5.3.3Map数据结构5.3.4实例: Map数据结构5.4Value列表数据结构——ValueVector5.4.1ValueVector常用API5.4.2实例: 使用ValueVector数据结构5.5Value字典数据结构——ValueMap和ValueMapIntKey5.5.1ValueMap和ValueMapIntKey常用API5.5.2实例: 使用ValueMap数据结构本章小结第6章菜单6.1菜单相关类6.2文本菜单6.3精灵菜单和图片菜单6.4开关菜单本章小结第7章精灵7.1Sprite精灵类7.1.1创建Sprite精灵对象7.1.2实例: 使用纹理对象创建Sprite对象7.2精灵的性能优化7.2.1使用纹理图集7.2.2使用精灵帧缓存7.3纹理图集制作7.3.1TexturePacker工具7.3.2使用TexturePacker制作纹理图集本章小结第8章场景与层8.1场景与层的关系8.2场景切换8.2.1场景切换相关函数8.2.2场景过渡动画8.3场景的生命周期8.3.1生命周期函数8.3.2多场景切换生命周期本章小结第9章动作和动画9.1基本动作9.1.1瞬时动作9.1.2间隔动作9.1.3组合动作9.1.4动作速度控制9.1.5函数调用9.2特效9.2.1网格动作9.2.2实例: 特效演示9.3动画9.3.1帧动画9.3.2实例: 帧动画使用本章小结第10章用户事件10.1事件处理机制10.1.1事件分发器10.1.2触摸事件10.1.3实例: 单点触摸事件10.1.4实例: 使用Lambda表达式10.1.5键盘事件10.1.6鼠标事件10.2在层中进行事件处理10.2.1触摸事件10.2.2实例: 单点触摸事件10.3加速度计与加速度事件10.3.1加速度计10.3.2使用事件分发器10.3.3使用层加速度计事件10.3.4实例: 运动的小球本章小结第11章Audio引擎11.1Cocos2dx中音频文件11.1.1音频文件介绍11.1.2Cocos2dx跨平台音频支持11.2使用Audio引擎11.2.1音频文件的预处理11.2.2播放背景音乐11.2.3停止播放背景音乐11.2.4背景音乐播放暂停与继续11.3实例: 设置背景音乐与音效11.3.1AppDelegate实现11.3.2HelloWorld场景实现11.3.3设置场景实现本章小结第12章粒子系统12.1问题的提出12.2粒子系统基本概念12.2.1实例: 打火机12.2.2粒子发射模式12.2.3粒子系统属性12.3Cocos2dx内置粒子系统12.3.1内置粒子系统12.3.2实例: 内置粒子系统12.4自定义粒子系统12.4.1代码创建12.4.2plist文件创建12.5粒子系统设计工具Particle Designer12.5.1粒子设置面板12.5.2使用分享案例12.5.3粒子的输出本章小结第13章瓦片地图13.1地图性能问题13.2Cocos2dx中瓦片地图API13.3使用Tiled地图编辑器13.3.1新建地图13.3.2导入瓦片集13.3.3创建层13.3.4在普通层上绘制地图13.3.5在对象层上添加对象13.4实例: 忍者无敌13.4.1设计地图13.4.2程序中加载地图13.4.3移动精灵13.4.4检测碰撞13.4.5滚动地图本章小结第14章物理引擎14.1使用物理引擎14.1.1物理引擎核心概念14.1.2物理引擎与精灵关系14.2Cocos2dx 3.x中物理引擎封装14.2.1Cocos2dx 3.x物理引擎API14.2.2实例: HelloPhysicsWorld14.2.3实例: 接触与碰撞检测14.2.4实例: 使用关节本章小结第15章内存管理15.1C++内存管理15.1.1内存分配区域15.1.2动态内存分配15.2Ref内存管理15.2.1内存引用计数15.2.2自动释放池15.2.3Ref内存管理规则15.3Ref内存管理设计模式15.3.1使用静态构造函数15.3.2使用访问器15.4其他类型内存管理15.4.1Value内存管理15.4.2Vector和Map内存管理本章小结第16章Cocos2dx多分辨率屏幕适配16.1屏幕适配问题的提出16.2Cocos2dx屏幕适配16.2.1三种分辨率16.2.2分辨率策略16.2.3纹理图集资源适配16.2.4瓦片地图资源适配本章小结第17章Cocos2dx敏捷开发项目实战——迷失航线手机游戏17.1迷失航线游戏分析与设计17.1.1迷失航线故事背景17.1.2需求分析17.1.3原型设计17.1.4游戏脚本17.2任务1: 游戏工程的创建与初始化17.2.1迭代1.1: 创建工程17.2.2迭代1.2: 多分辨率支持17.2.3迭代1.3: 通用类与基类维护17.3任务2: 创建Loading场景17.3.1迭代2.1: 添加场景和层17.3.2迭代2.2: Loading动画17.3.3迭代2.3: 异步加载纹理缓存17.3.4迭代2.4: 异步预处理声音17.4任务3: 创建Home场景17.4.1迭代3.1: 添加场景和层17.4.2迭代3.2: 添加菜单17.5任务4: 创建设置场景17.6任务5: 创建帮助场景17.7任务6: 游戏场景实现17.7.1迭代6.1: 创建敌人精灵17.7.2迭代6.2: 创建玩家飞机精灵17.7.3迭代6.3: 创建炮弹精灵17.7.4迭代6.4: 初始化游戏场景17.7.5迭代6.5: 游戏场景菜单实现17.7.6迭代6.6: 玩家飞机发射炮弹17.7.7迭代6.7: 炮弹与敌人的碰撞检测17.7.8迭代6.8: 玩家飞机与敌人的碰撞检测17.7.9迭代6.9: 玩家飞机生命值显示17.7.10迭代6.10: 显示玩家得分情况17.8任务7: 游戏结束场景本章小结 上一篇: React Native 精解与实战 下一篇: React快速上手开发