Learning Cocos2D:hands-on guide to building iOS games wiht Cocos2D, Box2D, and Chipmunk
副标题:无
作 者:(美)Rod Strougo,(美)Ray Wenderlich著;李正阳译
分类号:
ISBN:9787111425076
微信扫一扫,移动浏览光盘
简介
《Cocos2D应用开发实践指南:利用Cocos2D、Box2D和Chipmunk开发iOS游戏》封底贴有Pearson Education(培生教育出版集团)激光防伪标签,无标签者不得销售。这是一本系统的、富有趣味的、具有实战性的Cocos2D游戏开发指南。由两位资深的iOS开发工程师和游戏开发工程师撰写,Box2D创始人Erin Catto等多位专家联袂推荐。
全书以一个真实有趣的游戏案例Space Viking为主线,通过这个游戏案例的逐步迭代实现,将利用Cocos2D、Box2D和Chipmunk进行游戏开发必须掌握的各项关键技术(场景、图层、精灵、动画、动作、物理效果、粒子系统、碰撞检测、关卡设计、音效……)串联起来,系统讲解了iOS游戏开发者利用Cocos2D进行开发应该学习的理论知识,全面展示了Cocos2D游戏开发的流程、方法和技巧。此外,还介绍了粒子系统的原理,以及通过一个真实的游戏案例讲解了iOS游戏的性能测试和优化。
《Cocos2D应用开发实践指南:利用Cocos2D、Box2D和Chipmunk开发iOS游戏》分五部分,共17章,第一部分(第1~4章)介绍了如何安装Cocos2D及如何用Cocos2D开始开发游戏,如何为游戏角色添加动画和动作;第二部分(第5~6章)介绍了如何在游戏中添加更多角色,并在此过程中介绍了Cocos2D中的动作和特效及文字功能;第三部分(第7~9章)介绍了如何通过添加菜单,使用声音和滚动来扩展游戏中的游戏关卡;第四部分(第10~13章)介绍了如何运用Cocos2D中的Box2D和Chipmunk为游戏添加特效,如重力、逼真的碰撞等,并添加了一些基于物理的关卡;第五部分(第14~17章)介绍了如何快速添加粒子系统到游戏中,如何添加成就系统和高分榜,以及如何使游戏运行得更快。书中最后是一个附录,其中介绍了Cocos2D中的关键类。
目录
本书赞誉
译者序
前言
第一部分 Cocos2D初接触
第1章 你好,Cocos2D1
1.1 下载和安装Cocos2D2
1.1.1 下载Cocos2D2
1.1.2 安装Cocos2D模板3
1.2 创建你的第一个Cocos2D应用HelloWorld3
1.2.1 查看Cocos2D模板4
1.2.2 构建Cocos2D HelloWorld项目4
1.2.3 使HelloWorld更上一层楼6
1.2.4 添加移动7
1.3 为更好奇的读者:理解Cocos2D HelloWorld8
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 Viking18
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 Director26
2.7 添加运动27
2.7.1 导入JoyStick类28
2.7.2 添加JoyStick和按键28
2.7.3 将JoyStick运动应用于维京海盗Ole31
2.8 纹理图集35
2.8.1 纹理和纹理图集的技术细节36
2.8.2 创建场景1纹理图集38
2.8.3 添加场景1纹理图集到Space Viking41
2.9 为更好奇的读者:测试CCSpriteBatchNode41
2.10 在iPhone3G和老旧设备上调校性能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 创建GameObject59
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
第二部分 更多敌人和更多乐趣
第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 添加PhaserBullet111
5.4 GameplayLayer和Viking更新114
5.5 为更好奇的读者:Cocos2D中的特效118
5.5.1 Space Viking中有趣的特效118
5.5.2 运行EffectsTest120
5.5.3 将精灵和对象恢复正常120
5.6 小结121
5.7 习题121
第6章 文字、字体和书面语122
6.1 CCLabelTTF类122
6.2 理解锚点和对齐123
6.3 CCLabelBMFont125
6.4 使用Glyph Designer字体设计器125
6.5 使用Hiero字体构建工具126
6.6 为更好奇的读者:实时调试129
6.6.1 更新EnemyRobot129
6.6.2 更新GameplayLayer132
6.6.3 文字调试器的其他应用133
6.7 小结133
6.8 习题133
第三部分 从关卡到游戏
第7章 主菜单、关卡完成和致谢场景135
7.1 Cocos2D中的场景135
7.2 GameManager概述136
7.3 Cocos2D中的菜单144
7.4 场景组织与图像144
7.5 创建主菜单146
7.5.1 创建MainMenuScene146
7.5.2 MainMenuLayer类147
7.6 其他菜单和GameplayLayer153
7.6.1 导入Intro、LevelComplete、Credits和Options场景及层153
7.6.2 GameplayLayer153
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 添加音频到GameManager163
8.4 添加SoundEngine到GameObject174
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到ParallaxNode222
9.6 小结224
9.7 习题225
第四部分 物理引擎
第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 你好,Box2D236
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 跟随Ole385
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
第五部分 粒子系统、游戏中心和性能
第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 为应用创建一个应用程序ID409
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 添加成就系统到iTunesConnect423
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和GCHelper436
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 复用CCSprite455
16.3 Cocos2D分析器457
16.4 用Instruments发现性能瓶颈459
16.4.1 时间分析器460
16.4.2 OpenGL Driver Instrument461
16.5 小结464
16.6 习题464
第17章 结束语465
17.1 展望未来466
17.2 Android及其他平台466
17.3 最后的思考467
附录 Cocos2D的主要类468
译者序
前言
第一部分 Cocos2D初接触
第1章 你好,Cocos2D1
1.1 下载和安装Cocos2D2
1.1.1 下载Cocos2D2
1.1.2 安装Cocos2D模板3
1.2 创建你的第一个Cocos2D应用HelloWorld3
1.2.1 查看Cocos2D模板4
1.2.2 构建Cocos2D HelloWorld项目4
1.2.3 使HelloWorld更上一层楼6
1.2.4 添加移动7
1.3 为更好奇的读者:理解Cocos2D HelloWorld8
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 Viking18
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 Director26
2.7 添加运动27
2.7.1 导入JoyStick类28
2.7.2 添加JoyStick和按键28
2.7.3 将JoyStick运动应用于维京海盗Ole31
2.8 纹理图集35
2.8.1 纹理和纹理图集的技术细节36
2.8.2 创建场景1纹理图集38
2.8.3 添加场景1纹理图集到Space Viking41
2.9 为更好奇的读者:测试CCSpriteBatchNode41
2.10 在iPhone3G和老旧设备上调校性能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 创建GameObject59
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
第二部分 更多敌人和更多乐趣
第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 添加PhaserBullet111
5.4 GameplayLayer和Viking更新114
5.5 为更好奇的读者:Cocos2D中的特效118
5.5.1 Space Viking中有趣的特效118
5.5.2 运行EffectsTest120
5.5.3 将精灵和对象恢复正常120
5.6 小结121
5.7 习题121
第6章 文字、字体和书面语122
6.1 CCLabelTTF类122
6.2 理解锚点和对齐123
6.3 CCLabelBMFont125
6.4 使用Glyph Designer字体设计器125
6.5 使用Hiero字体构建工具126
6.6 为更好奇的读者:实时调试129
6.6.1 更新EnemyRobot129
6.6.2 更新GameplayLayer132
6.6.3 文字调试器的其他应用133
6.7 小结133
6.8 习题133
第三部分 从关卡到游戏
第7章 主菜单、关卡完成和致谢场景135
7.1 Cocos2D中的场景135
7.2 GameManager概述136
7.3 Cocos2D中的菜单144
7.4 场景组织与图像144
7.5 创建主菜单146
7.5.1 创建MainMenuScene146
7.5.2 MainMenuLayer类147
7.6 其他菜单和GameplayLayer153
7.6.1 导入Intro、LevelComplete、Credits和Options场景及层153
7.6.2 GameplayLayer153
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 添加音频到GameManager163
8.4 添加SoundEngine到GameObject174
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到ParallaxNode222
9.6 小结224
9.7 习题225
第四部分 物理引擎
第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 你好,Box2D236
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 跟随Ole385
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
第五部分 粒子系统、游戏中心和性能
第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 为应用创建一个应用程序ID409
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 添加成就系统到iTunesConnect423
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和GCHelper436
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 复用CCSprite455
16.3 Cocos2D分析器457
16.4 用Instruments发现性能瓶颈459
16.4.1 时间分析器460
16.4.2 OpenGL Driver Instrument461
16.5 小结464
16.6 习题464
第17章 结束语465
17.1 展望未来466
17.2 Android及其他平台466
17.3 最后的思考467
附录 Cocos2D的主要类468
Learning Cocos2D:hands-on guide to building iOS games wiht Cocos2D, Box2D, and Chipmunk
- 名称
- 类型
- 大小
光盘服务联系方式: 020-38250260 客服QQ:4006604884
云图客服:
用户发送的提问,这种方式就需要有位在线客服来回答用户的问题,这种 就属于对话式的,问题是这种提问是否需要用户登录才能提问
Video Player
×
Audio Player
×
pdf Player
×