目 录
第1章 简介 1
1.1 选择iPhone版cocos2d
的理由 2
1.1.1 免费 2
1.1.2 开源 2
1.1.3 Objective-C 2
1.1.4 2D游戏引擎 3
1.1.5 物理引擎 3
1.1.6 技术难度较低 3
1.1.7 依然需要编程 3
1.1.8 超棒的cocos2d社区 4
1.2 注意事项 4
1.2.1 Section 3.3.1 4
1.2.2 平台移植 5
1.3 本书读者对象 5
1.4 阅读前提 5
1.4.1 编程经验 5
1.4.2 Objective-C 5
1.5 本书内容 6
1.5.1 iOS游戏开发新手将
学会什么 7
1.5.2 iPhone应用程序开发者
将学会什么 7
1.5.3 cocos2d开发者将学会什么 7
1.6 章节介绍 8
1.7 问题和反馈 9
第2章 入门 11
2.1 准备工作 11
2.1.1 系统要求 11
2.1.2 注册成为iOS开发者 12
2.1.3 证书和授权文件 12
2.1.4 下载并安装iPhone SDK 12
2.1.5 下载并安装cocos2d 13
2.2 HelloWorld应用程序 16
2.2.1 HelloWorld文件在项目中
的位置 16
2.2.2 资源 17
2.2.3 其他资源 17
2.2.4 类 18
2.3 cocos2d中的内存管理问题 22
2.4 改变世界 24
2.5 你还应该知道的 26
2.5.1 iOS设备 26
2.5.2 关于内存的使用 27
2.5.3 模拟器 29
2.5.4 关于日志 30
2.6 本章小结 30
第3章 基础知识 31
3.1 cocos2d中的单件类 31
3.2 Director类 33
3.3 场景图 33
3.4 CCNode类层次体系 34
3.5 CCNode类 34
3.5.1 节点的处理方式 34
3.5.2 动作的处理方式 35
3.5.3 消息调度 36
3.6 场景和层 39
3.6.1 CCScene 40
3.6.2 场景和内存 40
3.6.3 推进和弹出场景 41
3.6.4 CCTransitionScene 42
3.6.5 CCLayer 43
3.7 CCSprite类 46
3.7.1 定位点揭秘 46
3.7.2 纹理大小 47
3.8 CCLabel类 47
3.9 菜单 48
3.10 动作 50
3.10.1 重复动作 50
3.10.2 流畅动作 50
3.10.3 动作序列 51
3.10.4 瞬时动作 52
3.11 cocos2d测试案例 53
3.12 本章小结 53
第4章 你的第一个游戏 55
4.1 按部就班地创建项目 55
4.2 添加Player Sprite 59
4.3 加速计输入 62
4.4 首次测试运行 63
4.5 玩家速度 63
4.6 添加障碍物 66
4.7 碰撞检测 72
4.8 得分标签 73
4.9 CCBitmapFontAtlas与Hiero
简介 74
4.10 添加音频 76
4.11 移植到iPad 76
4.12 本章小结 77
第5章 游戏组件 79
5.1 使用多个场景 79
5.1.1 添加多个场景 79
5.1.2 正在加载下一段,请做好
准备 81
5.2 使用多个层 83
5.2.1 实现关卡的最佳方法 89
5.2.2 CCColorLayer 90
5.3 从CCSprite类继承游戏
对象 90
5.4 使用CCSprite复合游戏
对象 91
5.5 奇妙的CCNode派生类 96
5.5.1 CCProgressTimer 96
5.5.2 CCParallaxNode 97
5.5.3 CCRibbon 99
5.5.4 CCMotionStreak 100
5.6 本章小结 101
第5章 深入了解精灵 103
6.1 CCSpriteBatchNode 103
6.1.1 何时使用
CCSpriteBatchNode 104
6.1.2 示例项目 105
6.2 精灵动画初体验 110
6.3 用于创建动画的辅助类别 112
6.4 使用纹理图册 114
6.4.1 何为纹理图册 114
6.4.2 Zwoptex工具介绍 114
6.4.3 使用Zwoptex桌面版创建
纹理图册 115
6.4.4 在cocos2d中使用纹理
图册 117
6.4.5 改进CCAnimation辅助
类别 119
6.4.6 将所有图像都放入一个
纹理图册中 120
6.5 自己动手 121
6.6 本章小结 122
第7章 滚屏射击游戏(上) 123
7.1 高级视差滚屏 123
7.1.1 将背景创建为底纹 123
7.1.2 在代码中重建背景 125
7.1.3 移动ParallaxBackground 126
7.1.4 视差滚动的速度因素 127
7.1.5 实现背景的无限滚动 129
7.1.6 消除闪烁 131
7.1.7 重复贴图 132
7.2 虚拟手柄 133
7.2.1 引入SneakyInput 133
7.2.2 集成SneakyInput 134
7.2.3 触摸按钮产生射击 135
7.2.4 为按钮添加皮肤 137
7.2.5 控制动作 139
7.2.6 数字控制 142
7.2.7 另一个选择:GPJoystick 143
7.3 本章小结 143
第8章 滚屏射击游戏(下) 145
8.1 添加BulletCache类 145
8.2 关于敌人 149
8.3 Entity类的继承体系 151
8.3.1 EnemyEntity类 151
8.3.2 EnemyCache类 155
8.3.3 组件类 159
8.4 射击开火 161
8.5 大怪物的生命条 163
8.6 本章小结 165
第9章 粒子效果 167
9.1 粒子效果实例 167
9.2 用复杂方法创建粒子效果 170
9.2.1 变化度属性 173
9.2.2 粒子数量 173
9.2.3 发射器持续时间 174
9.2.4 发射器模式 174
9.2.5 粒子位置 176
9.2.6 粒子大小 177
9.2.7 粒子方向 177
9.2.8 粒子生存期 177
9.2.9 粒子颜色 178
9.2.10 粒子混合模式 178
9.2.11 粒子贴图 179
9.3 Particle Designer介绍 180
9.3.1 使用Particle Designer生成
的粒子效果 182
9.3.2 分享粒子效果 183
9.4 在射击游戏中添加粒子
效果 185
9.5 本章小结 186
第10章 瓦片地图 189
10.1 瓦片地图简介 189
10.2 使用Zwoptex处理图片 191
10.3 Tiled地图编辑器 193
10.3.1 创建新的瓦片地图 193
10.3.2 设计瓦片地图 194
10.4 在cocos2d中使用直角
瓦片地图 196
10.4.1 定位被触摸的瓦片 199
10.4.2 提高性能和可读性 201
10.4.3 使用对象层 202
10.4.4 绘制对象层矩形 203
10.4.5 滚动瓦片地图 206
10.5 本章小结 207
第11章 斜角瓦片地图 209
11.1 设计斜角瓦片地图图形 209
11.2 使用Tiled编辑斜角瓦片
地图 211
11.2.1 新建一个斜角瓦片
地图 211
11.2.2 创建新的斜角瓦片集 212
11.2.3 设计斜角瓦片地图的
基本规则 213
11.3 将斜角瓦片地图应用到
游戏编程中 214
11.3.1 在cocos2d中加载斜角
瓦片地图 214
11.3.2 在cocos2d中设置斜角
瓦片地图 214
11.3.3 定位一个斜角瓦片 216
11.3.4 滚动斜角瓦片地图 218
11.3.5 斜角瓦片地图的边界
问题 219
11.3.6 增加一个可移动的玩家
角色 221
11.4 在游戏中加入更多内容 228
11.5 本章小结 228
第12章 物理引擎 231
12.1 物理引擎的基本概念 231
12.2 物理引擎的局限性 232
12.3 Box2D与Chipmunk 232
12.4 Box2D 233
12.4.1 Box2D眼中的世界 234
12.4.2 把移动范围限制在
屏幕内 235
12.4.3 转换点 237
12.4.4 在Box2D世界中添加
盒子 238
12.4.5 连接精灵和刚体 239
12.4.6 碰撞检测 240
12.4.7 连接刚体 243
12.5 Chipmunk 244
12.5.1 面向对象的Chipmunk 244
12.5.2 构建Chipmunk物理
空间 244
12.5.3 将盒子添加到物理
空间中 246
12.5.4 添加小盒子 247
12.5.5 更新盒子的精灵 249
12.5.6 Chipmunk碰撞实践 250
12.5.7 Chipmunk中的关节 251
12.6 本章小结 253
第13章 弹球游戏 255
13.1 图形:凸多边形和逆时针
方式 255
13.2 应用VertexHelper 256
13.3 创建弹球桌 258
13.4 加入动态元素 264
13.4.1 BodyNode类 264
13.4.2 球 267
13.4.3 反弹器 271
13.4.4 发射器 272
13.4.5 挡板 276
13.5 本章小结 280
第14章 Game Center 281
14.1 激活Game Center 281
14.1.1 在iTunes Connect中
创建应用程序 282
14.1.2 建立排行榜和成就 282
14.1.3 创建cocos2d Xcode
项目 283
14.1.4 配置Xcode 项目 284
14.1.5 小结 286
14.2 Game Kit编程 287
14.2.1 GameKitHelper代理 287
14.2.2 检查Game Center是否
可用 289
14.2.3 验证本地玩家身份 289
14.2.4 block对象 292
14.2.5 接收本地玩家的好友
列表 294
14.2.6 排行榜 296
14.2.7 成就 300
14.2.8 联机 304
14.3 本章小结 308
第15章 番外篇 311
15.1 一些有用的技术 311
15.1.1 社交网络 312
15.1.2 套接字服务器技术 313
15.1.3 广告和分析 313
15.1.4 推送通知供应商 314
15.2 从源码项目中受益 314
15.2.1 Sapus Tongue 315
15.2.2 LevelSVG 315
15.2.3 iPhone RPG Game Kit 315
15.2.4 Line-Drawing Game
Starterkit 316
15.3 参考 316
15.4 与出版商合作 317
15.5 寻找自由职业者 318
15.6 寻找免费的艺术品和
音频 319
15.7 寻找交易工具 319
15.8 市场 320
15.8.1 营销游戏和自己 320
15.8.2 公关和新闻发布 321
15.9 寻求帮助 322
15.9.1 cocos2d首页 323
15.9.2 栈交换网络 323
15.9.3 教程和常见问题解答 324
15.10 写在最后 324
15.11 本章小结 325
· · · · · · (
收起)