Cocos2D:the definitive guide

副标题:无

作   者:王寒,屈光辉,周雪彬著

分类号:

ISBN:9787111414100

微信扫一扫,移动浏览光盘

简介

《实战系列: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的延伸技术。

目录

前言
第一部分 基础篇
第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

已确认勘误

次印刷

页码 勘误内容 提交人 修订印次

Cocos2D:the definitive guide
    • 名称
    • 类型
    • 大小

    光盘服务联系方式: 020-38250260    客服QQ:4006604884

    意见反馈

    14:15

    关闭

    云图客服:

    尊敬的用户,您好!您有任何提议或者建议都可以在此提出来,我们会谦虚地接受任何意见。

    或者您是想咨询:

    用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问

    Video Player
    ×
    Audio Player
    ×
    pdf Player
    ×
    Current View

    看过该图书的还喜欢

    some pictures

    解忧杂货店

    东野圭吾 (作者), 李盈春 (译者)

    loading icon