第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 CCSpri te类 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引入Sneakylnput 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 Leve1SVG 315
15.2.3 iPhone RPG Game Kit 315
15.2.4 Line-Drawing GameStarterkit 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