《Cocos2d-x for iPhone游戏开发实例详解》系列博文,基于 人民邮电出版社 《Cocos2d for iPhone游戏开发实例详解》一书,使用Cocosd-x技术重写。示例代码中所引用的相关资料归于原书作者 Nathan Burba 以及出版社所有,本系列博文提供的C++版代码仅供学习使用。
======================================================================================
开发环境:
Cocos2d-x cocos2d-2.1rc0-x-2.1.2-hotfix.zip @ Apr.08, 2013
MacBook Pro 13' Mountain Lion 10.8.3
Xcode 4.6
iPhone5 IOS 6.1.4
======================================================================================
Cocos2d for iPhone是iPhone开发平台上一个非常稳健且简单的2D游戏框架。《Cocos2d for iPhone游戏开发实例详解》从几个方面通过90多个实例详细讲解了Cocos2d的使用,覆盖游戏开发中的所有关键技术点:图形、用户输入、文件及数据、物理、场景和订单、声音、AI和逻辑以及使用技巧等。示例程序中有简单的关键点强调,也有复杂的完整工作流。每一段示例程序都解决了一个常见问题(如播放视频、加速器转向等)或是一项先进的技术(3D渲染、多边形纹理等)。书中知识点涉及面广,内容丰富翔实,并配以完整的代码及代码详析,可谓是指导实际工作的重要工具。
《Cocos2d for iPhone游戏开发实例详解》不仅适合拥有一定经验的开发人员用于提升Cocos2d开发水平到更专业的层次,也适合初次接触iOS游戏开发的技术人员学习。
第1章 图形
1.1 概述
1.2 绘制精灵
1.2.1 预备
1.2.2 实战
1.2.3 原理
1.3 为精灵着色
1.3.1 预备
1.3.2 实战
1.3.3 原理
1.4 精灵动画
1.4.1 预备
1.4.2 实战
1.4.3 原理
1.4.4 补充
1.5 绘制OpenGL图元
1.5.1 预备
1.5.2 实战
1.5.3 原理
1.5.4 补充
1.6 播放视频文件
1.6.1 预备
1.6.2 实战
1.6.3 原理
1.7 网格、粒子和动态模糊特效
1.7.1 预备
1.7.2 实战
1.7.3 原理
1.8 使用Retina显示模式
1.8.1 预备
1.8.2 实战
1.8.3 原理
1.9 1D和2D缓冲动作
1.9.1 预备
1.9.2 实战
1.9.3 原理
1.10 渲染和3D图形材质
1.10.1 预备
1.10.2 实战
1.10.3 原理
1.10.4 补充
1.11 渲染材质填充的多边形
1.11.1 预备
1.11.2 实战
1.11.3 原理
1.11.4 补充
1.12 材质多边形动画
1.12.1 预备
1.12.2 实战
1.12.3 原理
1.13 使用层变换调色板
1.13.1 预备
1.13.2 实战
1.13.3 原理
1.14 使用CCTexture2DMutable实现调色板变换
1.14.1 预备
1.14.2 实战
1.14.3 原理
1.15 使用AWTextureFilter实现模糊和文字阴影
1.15.1 预备
1.15.2 实战
1.15.3 原理
1.15.4 补充
1.16 使用屏幕截图
1.16.1 预备
1.16.2 实战
1.16.3 原理
1.16.4 补充
1.17 使用 CCParallaxNode
1.17.1 预备
1.17.2 实战
1.17.3 原理
1.17.4 补充
1.18 使用glColorMask添加光效
1.18.1 预备
1.18.2 实战
1.18.3 原理
1.18.4 补充
第2章 用户输入
2.1 概述
2.2 点触、按住和拖曳输入
2.2.1 预备
2.2.2 实战
2.2.3 原理
2.2.4 补充
2.2.5 参考
2.3 深度检测下的输入
2.3.1 预备
2.3.2 实战
2.3.3 原理
2.4 创建按钮
2.4.1 预备
2.4.2 实战
2.4.3 原理
2.5 创建方向板
2.5.1 预备
2.5.2 实战
2.5.3 原理
2.6 创建模拟操纵杆
2.6.1 预备
2.6.2 实战
2.6.3 原理
2.7 使用加速度感应器模拟方向盘
2.7.1 预备
2.7.2 实战
2.7.3 原理
2.8 使用加速度感应器实现3D旋转
2.8.1 预备
2.8.2 实战
2.8.3 原理
2.9 双指放缩
2.9.1 预备
2.9.2 实战
2.9.3 原理
2.9.4 补充
2.10 实现手势
2.10.1 预备
2.10.2 实战
2.10.3 原理
2.10.4 补充
第3章 文件及数据
3.1 概述
3.2 读取PLIST数据文件
3.2.1 预备
3.2.2 实战
3.2.3 原理
3.3 读取JSON数据文件
3.3.1 预备
3.3.2 实战
3.3.3 原理
3.4 读取XML数据文件
3.4.1 预备
3.4.2 实战
3.4.3 原理
3.4.4 参考
3.5 使用NSUserDefaults存储简单数据
3.5.1 预备
3.5.2 实战
3.5.3 原理
3.5.4 参考
3.6 将对象打包成归档文件
3.6.1 预备
3.6.2 实战
3.6.3 原理
3.7 修改嵌套元数据
3.7.1 预备
3.7.2 实战
3.7.3 原理
3.8 将数据存入PLIST文件
3.8.1 预备
3.8.2 实战
3.8.3 原理
3.9 将数据存入SQLite数据库
3.9.1 预备
3.9.2 实战
3.9.3 原理
3.10 使用Core Data保存数据
3.10.1 预备
3.10.2 实战
3.10.3 原理
3.10.4 补充
第4章 物理
4.1 概述
4.2 Box2D安装及绘图调试
4.2.1 预备
4.2.2 实战
4.2.3 原理
4.3 建立碰撞响应程序
4.3.1 预备
4.3.2 实战
4.3.3 原理
4.3.4 补充
4.4 使用不同的图形
4.4.1 预备
4.4.2 实战
4.4.3 原理
4.5 拖曳和碰撞过滤器
4.5.1 预备
4.5.2 实战
4.5.3 原理
4.6 操控物理属性
4.6.1 预备
4.6.2 实战
4.6.3 原理
4.7 施加冲力
4.7.1 预备
4.7.2 实战
4.7.3 原理
4.8 应用力
4.8.1 预备
4.8.2 实战
4.8.3 原理
4.8.4 补充
4.9 异步销毁物体
4.9.1 预备
4.9.2 实战
4.9.3 原理
4.10 使用关节
4.10.1 预备
4.10.2 实战
4.10.3 原理
4.11 创建一辆汽车
4.11.1 准备
4.11.2 实战
4.11.3 原理
4.11.4 补充
4.12 人物移动
4.12.1 预备
4.12.2 实战
4.12.3 原理
4.13 模拟子弹
4.13.1 预备
4.13.2 实战
4.13.3 原理
4.14 模拟和绘制绳索
4.14.1 预备
4.14.2 实战
4.14.3 原理
4.15 创建一个俯视角的2.5D游戏引擎
4.15.1 准备
4.15.2 实战
4.15.3 原理
4.15.4 补充
第5章 场景与菜单
5.1 概述
5.2 场景切换
5.2.1 预备
5.2.2 实战
5.2.3 原理
5.3 场景间的过渡
5.3.1 预备
5.3.2 实战
5.3.3 原理
5.3.4 补充
5.4 使用CCLayerMultiplex
5.4.1 预备
5.4.2 实战
5.4.3 原理
5.5 使用CCLabel
5.5.1 预备
5.5.2 实战
5.5.3 原理
5.6 使用CCMenu
5.6.1 预备
5.6.2 实战
5.6.3 原理
5.7 创建带阴影的菜单标签
5.7.1 预备
5.7.2 实战
5.7.3 原理
5.7.4 补充
5.8 UIKit报警对话
5.8.1 预备
5.8.2 实战
5.8.3 原理
5.9 包装UIKit
5.9.1 预备
5.9.2 实战
5.9.3 原理
5.10 创建可拖曳窗口
5.10.1 预备
5.10.2 实战
5.10.3 原理
5.11 创建水平滚动菜单
5.11.1 预备
5.11.2 实战
5.11.3 原理
5.12 建立垂直滑动菜单网格
5.12.1 预备
5.12.2 实战
5.12.3 原理
5.13 创建进度条
5.13.1 预备
5.13.2 实战
5.13.3 原理
5.14 创建迷你地图
5.14.1 预备
5.14.2 实战
5.14.3 原理
第6章 声音
6.1 概述
6.2 播放声音和音乐
6.2.1 预备
6.2.2 实战
6.2.3 原理
6.2.4 补充
6.3 修改音频的属性
6.3.1 预备
6.3.2 实战
6.3.3 原理
6.3.4 补充
6.4 声音和音乐的渐变
6.4.1 预备
6.4.2 实战
6.4.3 原理
6.5 在游戏中使用音频
6.5.1 预备
6.5.2 实战
6.5.3 原理
6.5.4 补充
6.6 在游戏中使用位置声音
6.6.1 预备
6.6.2 实战
6.6.3 原理
6.7 测量背景音乐
6.7.1 预备
6.7.2 实战
6.7.3 原理
6.8 用于动画的对话测量
6.8.1 预备
6.8.2 实战
6.8.3 原理
6.9 流式音频
6.9.1 预备
6.9.2 实战
6.9.3 原理
6.9.4 补充
6.10 录制音频
6.10.1 预备
6.10.2 实战
6.10.3 原理
6.11 使用iPod音乐库
6.11.1 预备
6.11.2 实战
6.11.3 原理
6.11.4 补充
6.12 创建一个MIDI合成器
6.12.1 预备
6.12.2 实战
6.12.3 原理
6.12.4 补充
6.13 语音识别和文本语音转换
6.13.1 预备
6.13.2 实战
6.13.3 原理
第7章 AI和逻辑
7.1 概述
7.2 处理路径点AI
7.2.1 预备
7.2.2 实战
7.2.3 原理
7.3 向移动目标"开火"
7.3.1 预备
7.3.2 实战
7.3.3 原理
7.4 AI视线
7.4.1 预备
7.4.2 实战
7.4.3 原理
7.4.4 补充
7.5 使用Boids实现AI群集
7.5.1 预备
7.5.2 实战
7.5.3 原理
7.6 网格上的A*寻径
7.6.1 预备
7.6.2 实战
7.6.3 原理
7.6.4 补充
7.7 在Box2D环境中实现A*寻径
7.7.1 预备
7.7.2 实战
7.7.3 原理
7.7.4 补充
7.8 在TMX栅格地图中实现A*寻径
7.8.1 预备
7.8.2 实战
7.8.3 原理
7.9 在带有滚动的地图中寻径
7.9.1 预备
7.9.2 实战
7.9.3 原理
7.10 运行Lua脚本
7.10.1 预备
7.10.2 实战
7.10.3 原理
7.11 动态载入Lua脚本
7.11.1 预备
7.11.2 实战
7.11.3 原理
7.12 使用Lua实现对话树
7.12.1 预备
7.12.2 实战
7.12.3 原理
第8章 技巧、工具与移植
8.1 概述
8.2 使用Cocos2d-iPhone的测试平台
8.2.1 预备
8.2.2 实战
8.2.3 原理
8.3 使用Zwoptex打包纹理
8.3.1 准备
8.3.2 实战
8.3.3 原理
8.3.4 参考
8.4 使用Tiled建立关卡
8.4.1 预备
8.4.2 实战
8.4.3 原理
8.4.4 参考
8.5 使用JSONWorldBuilder创建关卡
8.5.1 预备
8.5.2 实战
8.5.3 原理
8.6 使用CocosBuilder创建场景
8.6.1 预备
8.6.2 实战
8.6.3 原理
8.7 使用Cocos2d-X
8.7.1 预备
8.7.2 实战
8.7.3 原理
8.8 使用Cocos3d
8.8.1 预备
8.8.2 实战
8.8.3 原理
8.9 发布应用程序
8.9.1 预备
8.9.2 实战
……