前 言
         第一部分 基础篇
         第1章 开始前的准备工作/ 2
         1.1 什么是Cocos2D/ 2
         1.1.1 Cocos2D的特点/ 2
         1.1.2 Cocos2D的主要功能/ 2
         1.1.3 Cocos2D应用/ 3
         1.2 下载与安装/ 4
         1.2.1 下载Cocos2D/ 4
         1.2.2 安装Cocos2D模板/ 6
         1.2.3 创建Cocos2D-iPhone的帮助文档/ 9
         1.2.4 使用Cocos2D中内置的项目/ 10
         1.3 HelloCocos2D实例/ 10
         1.3.1 创建HelloCocos2D项目/ 10
         1.3.2 添加小飞机/ 11
         1.3.3 让飞机飞行/ 13
         1.4 深入学习HelloCocos2D项目/ 13
         1.4.1 初识场景和节点/ 13
         1.4.2 实现代码分析/ 14
         1.5 在设备上运行HelloCocos2D项目/ 23
         1.5.1 使用Xcode的自动设置/ 23
         1.5.2 在设备上编译运行项目/ 24
         1.6 本章小结/ 24
         第2章 你的第一款iPhone游戏—垂直射击游戏/ 25
         2.1 准备工作/ 25
         2.2 构建游戏场景/ 28
         2.2.1 添加资源目录/ 28
         2.2.2 添加游戏背景/ 28
         2.2.3 添加玩家飞机/ 29
         2.2.4 添加敌机/ 30
         2.3 玩家交互/ 33
         2.3.1 添加加速计移动/ 33
         2.3.2 添加子弹并射击/ 35
         2.4 碰撞检测/ 37
         2.5 游戏音效/ 38
         2.6 最后的点缀/ 39
         2.6.1 添加计分和玩家生命值/ 39
         2.6.2 添加游戏胜利和结束画面/ 42
         2.7 本章小结/ 44
         第3章 Cocos2D核心类/ 45
         3.1 Cocos2D节点基础知识/ 45
         3.1.1 节点层级图/ 45
         3.1.2 什么是锚点/ 46
         3.2 CCNode节点类/ 47
         3.2.1 CCNode类的属性/ 47
         3.2.2 CCNode类的方法/ 50
         3.3 CCScene场景类/ 57
         3.3.1 CCTransitionScene场景切换/ 58
         3.3.2 Cocos2D支持的场景过渡效果/ 59
         3.4 CCLayer层类/ 60
         3.4.1 CCLayer类的作用/ 61
         3.4.2 CCLayerColor色彩层/ 62
         3.4.3 CCLayerGradient渐变色层/ 63
         3.4.4 CCMenu菜单类/ 63
         3.5 CCTexture纹理类/ 65
         3.5.1 纹理和纹理图集/ 65
         3.5.2 CCTexture2D、CCTextureCache和CCTextureAtlas/ 66
         3.6 CCSprite精灵类/ 67
         3.6.1 CCSprite类的属性及方法/ 67
         3.6.2 CCSpriteBatchNode精灵表单/ 71
         3.6.3 CCSpriteFrame精灵帧/ 73
         3.6.4 CCSpriteFrameCache精灵帧缓存/ 74
         3.7 Cocos2D中的单例/ 76
         3.7.1 Cocos2D中的常用单例/ 77
         3.7.2 CCDirector导演类/ 77
         3.8 垂直射击游戏—加载游戏数据/ 81
         3.8.1 注释draw方法和背景/ 81
         3.8.2 加载游戏资源/ 82
         3.8.3 修改AppDelegate.m文件/ 88
         3.8.4 修改HelloWorldLayer/ 89
         3.8.5 代码重构/ 90
         3.9 本章小结/ 93
         第4章 Cocos2D中的动作、特效与动画/ 94
         4.1 Cocos2D中的节点动作/ 94
         4.1.1 运行ActionsTest测试/ 94
         4.1.2 Cocos2D中的动作类/ 96
         4.2 动作的分类及使用/ 98
         4.2.1 基本动作/ 98
         4.2.2 组合动作/ 102
         4.2.3 Ease动作/ 105
         4.2.4 延迟动作/ 107
         4.2.5 方法回调动作/ 107
         4.2.6 块语句调用动作/ 112
         4.2.7 反转动作/ 116
         4.2.8 特殊动作/ 117
         4.3 垂直射击游戏:加载进度条与滚动背景/ 117
         4.3.1 使用CCProgressTo和CCProgressFromTo动作添加进度条/ 117
         4.3.2 使用CCFollow和CCParallaxNode动作添加滚动背景/ 119
         4.4 Cocos2D中的特效/ 122
         4.4.1 Cocos2D中的网格/ 122
         4.4.2 特效的种类及使用/ 123
         4.4.3 让节点对象返回最初状态/ 127
         4.5 Cocos2D中的动画/ 127
         4.5.1 Cocos2D中与动画相关的类/ 127
         4.5.2 在Cocos2D中实现动画效果/ 128
         4.6 使用Zwoptex工具实现动画效果/ 129
         4.6.1 安装Zwoptex工具/ 129
         4.6.2 制作精灵表单/ 130
         4.6.3 制作精灵动画/ 132
         4.7 垂直射击游戏—添加飞行和爆炸动画/ 134
         4.7.1 添加玩家飞机飞行动画/ 134
         4.7.2 添加飞机爆炸效果/ 136
         4.8 本章小结/ 138
         第5章 Cocos2D中的文本渲染系统/ 139
         5.1 文本渲染系统的组成/ 139
         5.1.1 CCLabelTTF类/ 139
         5.1.2 CCLabelAtlas类/ 145
         5.1.3 CCLabelBMFont类/ 147
         5.2 标签的对齐方式/ 151
         5.3 使用第三方工具创建字体纹理图集/ 152
         5.3.1 Hiero工具的使用方法/ 153
         5.3.2 创建字体图集步骤/ 153
         5.4 垂直射击游戏—美化游戏界面/ 155
         5.4.1 渲染文本/ 155
         5.4.2 实现倒计时功能/ 156
         5.5 本章小结/ 158
         第6章 Cocos2D中的事件处理机制/ 159
         6.1 iOS中的交互事件处理/ 159
         6.1.1 什么是用户输入事件/ 159
         6.1.2 多点触摸事件处理机制/ 160
         6.1.3 重力感应事件处理机制/ 162
         6.2 Cocos2D中的触摸事件处理/ 164
         6.2.1 如何处理触摸事件/ 165
         6.2.2 模板中自带的TouchesTest项目/ 168
         6.2.3 实战—随手指移动的小球/ 169
         6.3 Cocos2D中的重力感应事件/ 172
         6.3.1 如何处理重力感应事件/ 172
         6.3.2 实战—受加速计控制的小球/ 172
         6.4 垂直射击游戏—暂停游戏/ 177
         6.4.1 PauseLayer类的实现/ 177
         6.4.2 CustomMenu类的实现/ 180
         6.4.3 游戏主场景添加暂停层/ 180
         6.4.4 PauseLayerProtocol代理/ 181
         6.5 本章小结/ 182
         第7章 Cocos2D世界的声音/ 183
         7.1 认识CocosDenshion音效引擎/ 183
         7.1.1 CocosDenshion重要API/ 183
         7.1.2 CocosDenshion相关类/ 184
         7.1.3 Cocos2D支持的CocosDenshion/ 185
         7.2 SimpleAudioEngine使用方法/ 186
         7.2.1 添加背景音乐/ 187
         7.2.2 控制音乐的播放和停止/ 188
         7.2.3 判断当前是否播放背景音乐/ 192
         7.2.4 添加音效/ 194
         7.3 CDSoundEngine使用方法/ 195
         7.3.1 设置CDSoundEngine/ 195
         7.3.2 播放背景音乐和音效/ 199
         7.4 游戏菜单中的声音设置选项/ 202
         7.5 垂直射击游戏—GameOver/ 208
         7.5.1 实现背景音乐暂停功能/ 208
         7.5.2 实现菜单场景/ 208
         7.5.3 实现高分榜场景/ 215
         7.5.4 实现GameOver场景/ 221
         7.6 本章小结/ 223
         第8章 在Cocos2D中使用瓷砖地图/ 224
         8.1 认识瓷砖地图/ 224
         8.2 Tiled地图编辑器/ 225
         8.2.1 安装Tiled/ 225
         8.2.2 用Tiled绘制地图/ 226
         8.2.3 在地图中添加对象/ 230
         8.3 在项目中使用瓷砖地图/ 232
         8.3.1 TMX文件解析/ 232
         8.3.2 Cocos2D中的瓷砖地图类/ 233
         8.3.3 在项目中载入TMX地图/ 238
         8.3.4 使用TMX地图中的对象/ 239
         8.4 超级玛丽—实现简单的原型/ 242
         8.4.1 准备工作/ 243
         8.4.2 创建高清版本Tiled地图/ 244
         8.4.3 在代码里加载Tiled地图/ 248
         8.4.4 利用WBTMXTool工具制作普清版本Tiled地图/ 250
         8.4.5 添加遥感控制器/ 252
         8.5 本章小结/ 254
         第9章 物理引擎—更真实的Cocos2D世界/ 255
         9.1 游戏物理引擎概况/ 255
         9.1.1 物理引擎的应用/ 255
         9.1.2 常见的游戏物理引擎/ 257
         9.2 认识Box2D / 257
         9.2.1 Box2D碰撞检测和处理系统/ 258
         9.2.2 Box2D中的核心概念/ 259
         9.3 示例项目HelloBox2D详解/ 265
         9.3.1 使用模板创建HelloBox2D项目/ 265
         9.3.2 解读HelloBox2D默认项目代码/ 267
         9.3.3 完善HelloBox2D项目/ 280
         9.4 Box2D实战—物理射击游戏/ 291
         9.4.1 准备工作/ 292
         9.4.2 创建会转动手臂的小人/ 294
         9.4.3 发射子弹/ 300
         9.4.4 使用PhysicEditor工具制作凹槽/ 303
         9.4.5 凹槽实现升降机效果/ 306
         9.4.6 处理碰撞传感器/ 307
         9.4.7 加入更多障碍/ 309
         9.5 超级玛丽—Box2D与Tiled结合/ 310
         9.5.1 添加玛丽和物体的物理属性/ 310
         9.5.2 使玛丽行走和跳跃/ 319
         9.5.3 为游戏中的金币和箱子添加物理属性/ 325
         9.5.4 碰撞检测—吃金币/ 329
         9.5.5 游戏特效—吸金币/ 332
         9.5.6 加入游戏音效/ 335
         9.5.7 设计胜利和失败条件/ 335
         9.6 本章小结/ 338
         第二部分 实战篇
         第10章 Angel Panda游戏的设计与实现/ 340
         10.1 iOS游戏完整的制作流程/ 340
         10.2 Angel Panda游戏设计/ 342
         10.2.1 Angel Panda的创意来源/ 342
         10.2.2 Angel Panda的故事背景及游戏规则/ 342
         10.2.3 Angel Panda的游戏体验流程/ 343
         10.3 开发前的准备工作/ 343
         10.3.1 下载并安装合适的开发工具/ 343
         10.3.2 将项目分解成不同的模块/ 344
         10.3.3 准备游戏中所需要的资源/ 345
         10.4 Angel Panda游戏的实现/ 345
         10.4.1 使用Cocos2D模板创建新项目/ 345
         10.4.2 设置游戏主场景/ 350
         10.4.3 添加游戏角色/ 354
         10.4.4 添加用户交互机制/ 368
         10.4.5 添加游戏逻辑/ 370
         10.4.6 添加音效/ 374
         10.5 本章小结/ 377
         第11章 AngryPanda游戏的设计与框架搭建/ 378
         11.1 AngryPanda游戏设计/ 378
         11.1.1 AngryPanda的创意来源/ 378
         11.1.2 AngryPanda的故事背景及游戏规则/ 378
         11.1.3 AngryPanda的游戏体验流程/ 379
         11.2 开发前的准备工作/ 379
         11.2.1 下载并安装合适的开发工具/ 379
         11.2.2 将项目分解成不同的模块/ 380
         11.2.3 准备游戏需要的资源/ 381
         11.2.4 使用Box2D模板创建新项目/ 382
         11.3 数据存储和游戏设置/ 383
         11.3.1 创建和实现GameData类/ 384
         11.3.2 GameData类中的重要方法/ 386
         11.3.3 创建Constants.h头文件/ 389
         11.4 游戏中的音效管理/ 390
         11.4.1 创建GameSounds类/ 390
         11.4.2 GameSounds类中的重要方法/ 391
         11.5 游戏中的辅助界面/ 391
         11.5.1 游戏开始界面/ 392
         11.5.2 游戏介绍界面/ 400
         11.5.3 关卡选择界面/ 404
         11.5.4 关卡结束界面/ 407
         11.6 本章小结/ 410
         第12章 Angry Panda游戏主场景的实现/ 411
         12.1 Box2D世界的物体/ 411
         12.1.1 创建抽象物体类/ 411
         12.1.2 创建熊猫角色/ 414
         12.1.3 创建平台物体/ 418
         12.1.4 创建外星怪物/ 419
         12.1.5 创建遮挡物体/ 423
         12.1.6 创建并放置攻击目标/ 425
         12.2 实现游戏的主场景/ 427
         12.2.1 创建MainScene类/ 428
         12.2.2 场景的视觉呈现/ 431
         12.2.3 如何与用户交互/ 437
         12.2.4 实现游戏的逻辑机制/ 442
         12.3 游戏中的碰撞检测机制/ 443
         12.3.1 创建ContactListener类/ 444
         12.3.2 碰撞检测机制的实现/ 444
         12.4 本章小结/ 447
         第三部分 高级篇
         第13章 粒子系统/ 450
         13.1 Cocos2D中的粒子系统/ 450
         13.1.1 粒子系统相关的类/ 450
         13.1.2 Cocos2D内置的粒子系统/ 452
         13.2 手动创建粒子系统示例/ 453
         13.2.1 创建ParticleEffect项目/ 453
         13.2.2 添加Cocos2D内置的粒子系统/ 454
         13.2.3 手动创建粒子系统类/ 455
         13.2.4 设置粒子系统的属性/ 459
         13.3 plist文件/ 464
         13.3.1 particle.plist文件内容/ 464
         13.3.2 使用plist文件创建粒子系统/ 466
         13.4 粒子工具Particle Designer/ 468
         13.4.1 下载安装Particle Designer/ 468
         13.4.2 Particle Designer工具栏/ 469
         13.4.3 如何设置Emitter Config属性/ 470
         13.4.4 如何在项目中使用粒子系统/ 472
         13.5 本章小结/ 473
         第14章 CocosBuilder和Shader/ 474
         14.1 CocosBuilder初体验/ 474
         14.1.1 下载安装CocosBuilder/ 474
         14.1.2 查看Example目录结构/ 476
         14.1.3 如何打开样例文件/ 477
         14.2 第一个CocosBuilder项目/ 478
         14.2.1 创建HelloWorldCocosBuilder场景/ 478
         14.2.2 加载HelloWorldCocosBuilder场景/ 483
         14.2.3 建立文档与代码的连接/ 484
         14.2.4 完善HelloWorldCocosBuilder场景/ 486
         14.3 HelloWorldCocosBuilder项目功能完善/ 489
         14.3.1 制作GameMenu场景/ 490
         14.3.2 制作About场景/ 493
         14.3.3 发布ZIP格式场景资源文件/ 495
         14.3.4 如何支持多个设备分辨率/ 496
         14.4 着色器/ 496
         14.4.1 着色器的种类及工作原理/ 497
         14.4.2 编写自己的Shader程序/ 500
         14.4.3 如何为Sprite定制顶点着色器/ 503
         14.4.4 如何定制片段着色器/ 507
         14.4.5 旋风效果示例/ 509
         14.5 本章小结/ 512
         第15章 在游戏中添加对Game Center的支持/ 513
         15.1 什么是Game Center/ 513
         15.1.1 Game Center的功能/ 513
         15.1.2 Game Center的特点/ 513
         15.2 在项目中添加对Game Center的支持/ 514
         15.2.1 注册iOS开发者账号/ 514
         15.2.2 为应用创建并设置App ID/ 514
         15.2.3 在iTunes Connect中注册应用/ 517
         15.2.4 开启对Game Center的支持/ 520
         15.2.5 在iTunes Connect中添加成就系统/ 520
         15.2.6 在iTunes Connect中设置积分排行榜/ 523
         15.3 示例项目GKTapper详解/ 524
         15.3.1 添加Game Kit框架/ 525
         15.3.2 检查Game Center是否可用/ 526
         15.3.3 验证玩家是否登录Game Center/ 527
         15.3.4 实现成就系统/ 530
         15.3.5 实现积分排行榜/ 535
         15.4 本章小结/ 539
         第16章 在游戏中添加对IAP的支持/ 540
         16.1 什么是IAP/ 540
         16.1.1 IAP的功能/ 540
         16.1.2 IAP中的商品类型/ 540
         16.1.3 IAP实现机制/ 542
         16.2 Store Kit Framework介绍/ 545
         16.2.1 Store Kit Framework中的购买核心类/ 545
         16.2.2 Store Kit Framework中的商品核心类/ 548
         16.2.3 SKDownload类/ 550
         16.2.4 Store Kit Framework中的协议/ 550
         16.3 在iTunes Connect配置IAP/ 551
         16.3.1 在iTunes Connect中添加商品信息/ 552
         16.3.2 在iTunes Connect中添加沙盒测试账号/ 558
         16.4 在项目中添加与IAP相关的代码/ 560
         16.4.1 IAPGame项目简介/ 560
         16.4.2 在项目中添加Store Kit框架/ 562
         16.4.3 添加MyStore类/ 563
         16.5 在设备中测试并提交审核/ 576
         16.6 本章小结/ 583
         第17章 游戏性能分析与优化/ 584
         17.1 如何发现性能瓶颈/ 584
         17.1.1 Instruments基本功能/ 584
         17.1.2 Instruments中内置的分析工具/ 585
         17.1.3 如何使用Time Profiler工具模板/ 586
         17.1.4 如何使用OpenGL ES Driver工具模板/ 588
         17.1.5 使用空白模板创建定制分析工具/ 590
         17.2 Cocos2D内置的性能分析工具/ 591
         17.2.1 CCProfiler和CCProfilingTimer/ 591
         17.2.2 如何使用性能分析工具/ 593
         17.3 优化Cocos2D游戏性能/ 595
         17.3.1 在Cocos2D中开启自动引用计数/ 595
         17.3.2 使用CCSpriteBatchNode 替代CCSprite/ 597
         17.3.3 提升游戏性能的其他技巧/ 598
         17.4 本章小结/ 600
         第18章 产品的测试、发布与推广/ 601
         18.1 用户体验测试/ 601
         18.1.1 测试用户的选择/ 601
         18.1.2 产品测试的步骤/ 601
         18.2 产品的上传与发布/ 610
         18.2.1 加入iOS开发者计划/ 610
         18.2.2 在App Store中发布产品/ 618
         18.3 App产品的宣传与推广/ 636
         18.3.1 产品推广的原因/ 636
         18.3.2 产品推广的方法/ 636
         18.4 本章小结/ 638
         第19章 Cocos2D的延伸/ 639
         19.1 Cocos3D简介/ 639
         19.1.1 Cocos3D的基本特性/ 639
         19.1.2 Cocos3D核心类简介/ 640
         19.1.3 下载并安装Cocos3D/ 642
         19.2 Cocos2D-x 简介/ 643
         19.2.1 创建iOS版的HelloWorld项目/ 643
         19.2.2 创建基于Cocos2D-x的Android项目/ 648
         19.3 Cocos2D-HTML5详解/ 661
         19.3.1 Cocos2D-HTML5简介/ 661
         19.3.2 下载安装Cocos2D-HTML5/ 662
         19.3.3 安装配置WebServer(可选)/ 664
         19.3.4 解析helloHTML5World项目/ 665
         19.4 Cocos2D-Python简介/ 671
         19.5 本章小结/ 671
      · · · · · ·     (
收起)