第一部分Cocos2D初接触 1
第1章 你好,Cocos2D 1
1.1下载和安装Cocos2D 2
1.1.1下载Cocos2D 2
1.1.2安装Cocos2D模板 3
1.2创建你的第一个Cocos2D应用HelloWorld 3
1.2.1查看Cocos2D模板 4
1.2.2构建Cocos2D HelloWorld项目 4
1.2.3使HelloWorld更上一层楼 6
1.2.4添加移动 7
1.3为更好奇的读者:理解Cocos2DHelloWorld 8
1.3.1场景和节点 8
1.3.2开始 10
1.3.3进一步探索Cocos2D源代码 14
1.4安装CCHelloWorld到iPhone或iPad上 15
1.4.1让Xcode为你做所有事情 16
1.4.2为iPhone或iPad构建应用 17
1.5小结 17
1.6习题 17
第2章 你好,Space Viking 18
2.1创建Space Viking项目 18
2.2创建Space Viking类对象 19
2.3创建背景层 20
2.4 GamePlayer层:把维京海盗Ole加入游戏中 23
2.5 GameScene类:把层与场景连接起来 25
2.6 Cocos2D Director 26
2.7添加运动 27
2.7.1导入JoyStick类 28
2.7.2添加JoyStick和按键 28
2.7.3将JoyStick运动应用于维京海盗Ol e 31
2.8纹理图集 35
2.8.1纹理和纹理图集的技术细节 36
2.8.2创建场景1纹理图集 38
2.8.3添加场景1纹理图集到Space Viking 41
2.9为更好奇的读者:测试CCSpriteBatchNode 41
2.10在iPhone 3G和老旧设备上调校性能 43
2.11小结 43
2.12习题 43
第3章 Cocos2D动画和动作概述 45
3.1 Cocos2D中的动画 45
3.2 Space Viking设计基础 49
3.3 Cocos2D动作和动画基础 52
3.4使用属性列表文件存储动画数据 53
3.5组织、常量和通用协议 55
3.5.1创建常量文件 56
3.5.2通用协议文件 57
3.6 GameObject和GameCharacter类 59
3.6.1创建GameObject 59
3.6.2创建GameCharacter类 64
3.7小结 66
3.8习题 66
第4章 简单碰撞检测和第一个敌人 67
4.1创建RadarDish和Viking类 67
4.1.1创建RadarDish类 67
4.1.2创建Viking类 72
4.2最终步骤 86
4.3小结 92
4.4习题 92
第二部分 更多敌人和更多乐趣 93
第5章 更多动作、特效和Cocos2D调度器 93
5.1道具 94
5.1.1 Mallet道具 94
5.1.2 Health道具 96
5.1.3空间货运飞船 98
5.2敌人机器人 100
5.3添加PhaserBullet 111
5.4 GameplayLayer和Viking更新 114
5.5为更好奇的读者:Cocos2D中的特效 118
5.5.1 Space Viking中有趣的特效 118
5.5.2运行EffectsTest 120
5.5.3将精灵和对象恢复正常 120
5.6小结 121
5.7习题 121
第6章 文字、字体和书面语 122
6.1 CCLabelTTF类 122
6.2理解锚点和对齐 123
6.3 CCLabelBMFont 125
6.4使用Glyph Designer字体设计器 125
6.5使用Hiero字体构建工具 126
6.6为更好奇的读者:实时调试 129
6.6.1更新EnemyRobot 129
6.6.2更新GameplayLayer 132
6.6.3文字调试器的其他应用 133
6.7小结 133
6.8习题 133
第三部分 从关卡到游戏 135
第7章 主菜单、关卡完成和致谢场景 135
7.1 Cocos2D中的场景 135
7.2 GameManager概述 136
7.3 Cocos2D中的菜单 144
7.4场景组织与图像 144
7.5创建主菜单 146
7.5.1创建MainMenuScene 146
7.5.2 MainMenuLayer类 147
7.6其他菜单和GameplayLayer 153
7.6.1导入Intro、 LevelComplete、Credits和Options场景及层 153
7.6.2 GameplayLayer 153
7.6.3修改SpaceVikingApp-Delegate类 155
7.7为更好奇的读者:IntroLayer类和LevelComplete类 156
7.8小结 157
7.9习题 157
第8章 添加音效 158
8.1 CocosDenshion概述 158
8.2导入并设置音频文件 158
8.2.1为Space Viking添加音频 159
8.2.2音频常量 159
8.3同步异步加载音频的比较 161
8.3.1同步加载音频 161
8.3.2异步加载音频 163
8.3.3添加音频到GameManager 163
8.4添加SoundEngine到GameObject 174
8.5为EnemyRobot添加声音 177
8.6为Ole添加音效 180
8.7为菜单场景添加音乐 185
8.7.1为Gameplay添加音乐 185
8.7.2为MainMenu添加音乐 185
8.8为更好奇的读者:如果你需要更多音频控制 185
8.9小结 186
8.10习题 186
第9章 当世界变得更大:添加滚动 187
9.1为更广阔的世界添加逻辑 188
9.2创建更广阔的世界 190
9.2.1创建第2个游戏场景 191
9.2.2创建滚动层 197
9.3与视差层一起滚动 203
9.4无限制滚动 206
9.4.1创建滚动层 206
9.4.2创建平台场景 214
9.5瓷片地图 216
9.5.1安装Tiled工具 217
9.5.2创建瓷片地图 218
9.5.3 Cocos2D压缩TileMap类 220
9.5.4添加TileMap到ParallaxNode 222
9.6小结 224
9.7习题 225
第四部分 物理引擎 227
第10章 基础游戏物理学:用Box2D增加现实性 227
10.1开始 227
10.1.1关于死亡的疯狂梦想 229
10.1.2创建新场景 229
10.1.3添加Box2D文件到你的项目 231
10.1.4 Box2D单位 235
10.2你好,Box2D 236
10.2.1创建Box2D对象 237
10.2.2 Box2D调试绘制 240
10.2.3整合所有元素 241
10.2.4创建地面 243
10.3基础Box2D交互和装饰 245
10.3.1拖动对象 247
10.3.2质量、密度、摩擦力和弹性 251
10.3.3用精灵装饰Box2D形体 254
10.4制作一个Box2D解谜游戏 261
10.5小结 271
10.6习题 271
第11章 中级游戏物理学:建模、竞速和跨越 272
11.1开始 272
11.1.1添加资源文件 272
11.1.2创建基本的Box2D场景 273
11.2用Box2D创建一个小车 283
11.2.1用Box2D创建一个定制图形 284
11.2.2使用Vertex Helper工具 285
11.2.3用Box2D旋转关节添加轮子 288
11.3让小车移动和跳跃 291
11.3.1利用加速计使小车移动 292
11.3.2让它可滚动 294
11.3.3力和冲量 302
11.3.4固定倾卸台 302
11.3.5让小车跳跃 303
11.3.6更灵敏的转向 306
11.4小结 307
11.5习题 307
第12章 高级游戏物理学:更真实的物体 308
12.1关节和人偶:带Ole回到场景 308
12.1.1限制旋转关节 309
12.1.2使用柱状关节 310
12.1.3如何在恰当地点创建多个形体和关节 311
12.1.4添加Ole:实现 313
12.2添加障碍物和桥梁 318
12.2.1添加桥梁 318
12.2.2添加尖刺 321
12.2.3添加改良的主循环 325
12.3关底战斗 326
12.3.1危险的挖掘机 334
12.3.2最后一击:添加通关后电影序幕 340
12.4小结 344
12.5习题 344
第13章 Chipmunk物理引擎(不需要Alvin) 345
13.1 Chipmunk引擎是什么 345
13.2 Chipmunk引擎入门 347
13.2.1添加Chipmunk引擎到你的项目中 351
13.2.2创建基本的Chipmunk引擎场景 354
13.3添加精灵并使它们移动 361
13.3.1通过直接设置速度跳跃 366
13.3.2通过设置表面速度移动地面 367
13.3.3地面碰撞检测 367
13.3.4 Chipmunk引擎裁判器和法线 368
13.3.5碰撞检测实现 368
13.3.6移动和跳跃实现 372
13.4 Chipmunk引擎和约束 376
13.4.1旋转平台 378
13.4.2枢轴、弹簧和普通平台 380
13.5伟大的逃脱 385
13.5.1跟随Ole 385
13.5.2布局平台 387
13.5.3 Ole动画序列 387
13.5.4音乐和音效 391
13.5.5添加背景 392
13.5.6添加赢/输条件限制 393
13.6小结 394
13.7习题 394
第五部分 粒子系统、游戏中心和性能 395
第14章 粒子系统:创建火焰、雪花、冰和更多 395
14.1内置粒子系统 396
14.1.1运行内置粒子系统 396
14.1.2在沙漠中降雪 397
14.2粒子设计器入门 398
14.3为Space Viking创建并添加粒子系统 401
14.4小结 406
14.5习题 406
第15章 游戏中心的成就系统和高分榜 407
15.1什么是游戏中心 407
15.2为你的应用启用游戏中心 409
15.2.1获取iOS开发者账号 409
15.2.2为应用创建一个应用程序ID 409
15.2.3在iTunes里注册你的应用 412
15.2.4启用游戏中心支持 415
15.3游戏中心身份验证 416
15.3.1确定游戏中心可用 416
15.3.2尝试给玩家进行验证 416
15.3.3如果验证状态发生变化则告知 417
15.3.4实现 418
15.4配置成就系统 423
15.4.1添加成就系统到iTunes Connect 423
15.4.2成就系统如何工作 425
15.5实现成就系统 426
15.5.1创建游戏状态类 426
15.5.2为加载和保存数据创建帮助函数 429
15.5.3修改GCHelper以发送成就数据 431
15.5.4在Space Viking中使用GameState和GCHelper 436
15.5.5在应用中显示成就 440
15.6设置并实现高分榜 442
15.6.1在iTunes Connect里设置高分榜 442
15.6.2高分榜的工作原理 443
15.6.3实现高分榜 444
15.6.4在游戏中显示高分榜 445
15.7小结 448
15.8习题 448
第16章 性能优化 449
16.1 CCSprite与CCSpriteBatchNode比较 449
16.1.1测试性能差别 453
16.1.2对纹理和纹理图集的建议 453
16.2复用CCSprite 455
16.3 Cocos2D分析器 457
16.4用Instruments发现性能瓶颈 459
16.4.1时间分析器 460
16.4.2 OpenGL Driver Instrument 461
16.5小结 464
16.6习题 464
第17章 结束语 465
17.1展望未来 466
17.2 Android及其他平台 466
17.3最后的思考 467
附录Cocos2D的主要类 468