《Cocos2D权威指南》
基本信息
作者: 王寒 屈光辉 周雪彬
出版社:机械工业出版社
ISBN:9787111414100
上架时间:2013-3-1
出版日期:2013 年3月
开本:16开
页码:1
版次:1-1
所属分类:计算机 > 软件与程序设计 > 移动开发 > 其他移动开发技术
更多关于 》》》《
Cocos2D权威指南》
内容简介
书籍
计算机书籍
《cocos2d权威指南》是目前cocos2d领域内容最全面、系统和深入的一本著作,也是技术版本最新的一本著作。由国内ios和cocos2d领域的先驱和资源专家撰写,不仅系统讲解了cocos2d的使用方法、技术要点、工作原理、高级知识、开发技巧、最佳实践和性能优化,而且通过精心设计的典型案例详细讲解了cocos2d游戏设计与开发的完整过程,极具启发性和可操作性。 此外,还介绍了如何进行应用的测试与发布,以及cocos3d、cocos2d-x、cocos2d-html5、cocos2d-python等衍生技术。
全书共19章,分为三个部分:基础篇(第1~9章)系统讲解了cocos2d v2.0的功能特性、使用方法、技术要点和工作原理,通过超级玛丽等3个经典游戏将cocos2d中的核心类、动作、特效、动画、文本渲染系统、事件处理机制、声音、瓷砖地图、box2d等内容贯穿其中,真实有趣,易于理解;实战篇(第10~12章),通过对angel panda和angry panda两款经典游戏的设计与开发过程的讲解,为读者展示了使用cocos2d开发游戏的完整流程,可操作性极强;高级篇(第13~19章),着重讲解了cocos2d v2.0的高级知识、实用开发技巧和最佳实践,包括粒子系统、cocosbuilder和shader、在游戏中添加对iap的支持、性能分析与优化、产品的测试/发布/推广,以及cocos2d的延伸技术。
目录
《cocos2d权威指南》
前 言
第一部分 基础篇
第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