iOS 5 cocos2d游戏开发实战(第2版)(国内第一本针对iOS 5 cosos2d图书)
- 定价:¥59.80
- 校园优惠价:¥44.85 (75折) (马上了解)
- 评分:




(已有4条评价)
- 促销活动:
- 此商品暂时缺货(可留下联系方式,到货将第一时间通知您)
-
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由客服人员为您协调调货!
>> 查看详细说明
信息提示
关闭
如果您急需团购,可点击“团购急调”按钮将此书加入购物车,由我们的客服人员为您协调调货!
- 团购订单标准如下:
- 单品满30册可选择团购服务。
- 提交团购订单后,服务人员会主动和您联系,并根据您的会员等级、购买数量、金额、时间、配送要求等情况和您协商,以促成最终的成交。
- 有关团体购书的任何问题请随时联系:(010)63970506
【插图】
编辑推荐
国内第一本针对iOS 5 cosos2d图书
它将从最基础的地方引领您开发游戏,一步一步地指导创建示例游戏。
内容简介
书籍 计算机书籍
《iOS 5 cocos2d游戏开发实战(第2版)》将引导您开发富有吸引力的2D游戏。书中展示了如何使用cocos2d这款强大的游戏引擎来开发iPhone和iPad游戏,此外还介绍了游戏中的瓦片地图、虚拟摇杆、Game Center等。
《iOS 5 cocos2d游戏开发实战(第2版)》主要内容:
移动游戏开发的过程和最佳实践,包括精灵批处理技术、纹理图册、视差滚动、触屏以及加速计输入。
使用Box2D、Chipmunk物理引擎以及其他cocos2d相关的库和工具提升游戏性能。
在cocos2d应用中添加UIKit视图,以及在UiKit 视图中添加cocos2d。
详细介绍Kobold2D开发环境及其预配置库,包括cocos3d和Lua。
最重要的是,《iOS 5 cocos2d游戏开发实战(第2版)》将从最基础的地方引领您开发游戏,一步一步地指导创建示例游戏。这些示例都是根据App Store中流行的游戏改编而成的,它们能让您了解cocos2d游戏引擎中重要的概念和相关工具的使用,比如TexturePacker(纹理图册)、PhysicsEditor(物理性状编辑器)、Particle Designer(粒子效果)、Glyph Designer(位图字体)等。
《iOS 5 cocos2d游戏开发实战(第2版)》详细介绍了cocos2d游戏引擎,关注的是创建完整cocos2d游戏的过程而不是展示大量的iOS SDK 或OpenGL代码。同时还介绍了不同的实现方法,展示了用来辅助cocos2d游戏开发最好且免费的商用工具,阐释了作者完善过的cocos2d游戏引擎——Kobold2D,让您的游戏在App Store中更具竞争力。
作译者
Steffen Itterheim从20世纪90年代开始就一直热衷于游戏开发。他在Doom和Duke Nukem 3D社区表现活跃,并因此获得了他的第一份自由职业,成为3D Realms的一名beta测试人员。作为职业游戏开发者,Steffen拥有10多年的丰富经验,其中大部分时间担任Electronic Arts Phenomic的游戏和工具程序员。2009年Steffen第一次接触cocos2d,那时他与其他人共同创办了一家iOS游戏公司——Fun Armada。他乐于将自己的宝贵经验传授给其他游戏开发者,以帮助他们更上一层楼。有机会你可能会在白天看到他在住所附近茂密的葡萄园周围散步,也可能在晚上看到他在Nevada沙漠收集瓶盖。
Andreas Low在10岁的时候有了一台Commodore C16,从那时起他就对计算机产生了狂热的兴趣。他自学了编写游戏的技术,并在1994年发布了自己的第一款游戏Gamma Zone,这是一款针对Commodore Amiga平台的游戏,用纯汇编语言编写完成。在获得电子工程学的学位后,他进入Harman International公司,负责为汽车行业开发具有语音识别功能的导航和娱乐系统。他开发了自己的编程语言和开发工具,现在世界上采用语音识别技术的每辆汽车都在使用他的编程语言和开发工具。
iPhone出现后,他有了回归本行的打算,开始开发一款叫做TurtleTrigger的游戏。他意识到cocos2d社区存在对好的开发工具的强烈需求。于是,利用自己在游戏和工具开发方面的知识,他开发出了TexturePacker和PhysicsEditor,它们迅速成为cocos2d用户进行开发时必不可少的工具。
目录
《iOS 5 cocos2d游戏开发实战(第2版)》
第1章 简介 1
1.1 本书第2版的新增内容 2
1.2 选择iOS版cocos2d的理由 3
1.2.1 免费 3
1.2.2 开源 3
1.2.3 Objective-C 3
1.2.4 2D游戏引擎 3
1.2.5 物理引擎 4
1.2.6 技术难度较低 4
1.2.7 依然需要编程 4
1.2.8 超棒的cocos2d社区 5
1.3 cocos2d-iphone项目的未来 5
1.4 其他cocos2d游戏引擎 6
1.5 本书读者对象 7
1.6 阅读前提 7
1.6.1 编程经验 7
1.6.2 Objective-C 7
1.7 本书内容 8
1.7.1 iOS游戏开发新手将学会 什么 8
1.7.2 iOS应用程序开发者将学会 什么 9
1.7.3 cocos2d开发者将学会什么 9
1.8 章节介绍 9
1.9 本书的源代码 10
1.10 问题和反馈 11
第2章 入门 13
2.1 准备工作 13
2.1.1 系统要求 13
2.1.2 注册成为iOS开发者 14
2.1.3 证书和授权文件 14
2.1.4 下载并安装iOS SDK 14
2.1.5 下载并安装cocos2d 15
2.2 HelloWorld应用程序 18
2.2.1 HelloWorld文件在项目中 的位置 19
2.2.2 资源 19
2.2.3 支持文件 19
2.2.4 HelloWorld类 21
2.3 cocos2d中的内存管理问题 24
2.4 改变世界 27
2.5 你还应该知道的 29
2.5.1 iOS设备 29
2.5.2 关于内存的使用 30
2.5.3 iOS模拟器 31
2.5.4 关于日志 32
2.6 本章小结 33
第3章 基础知识 35
3.1 场景图 35
3.2 CCNode类层次结构 38
3.3 CCNode类 39
3.3.1 节点的处理方式 39
3.3.2 动作的处理方式 40
3.3.3 消息调度 41
3.4 Director类、场景和层 44
3.4.1 Director类 44
3.4.2 CCScene类 46
3.4.3 场景和内存 47
3.4.4 推进和弹出场景 48
3.4.5 CCTransitionScene类 49
3.4.6 CCLayer类 51
3.5 CCSprite类 56
iOS 5 cocos2d 游戏开发实战(第 2 版)
X
3.5.1 定位点揭秘 57
3.5.2 纹理大小 57
3.6 CCLabelTTF类 58
3.7 菜单 59
3.8 动作 61
3.8.1 间隔动作 62
3.8.2 瞬时动作 67
3.9 cocos2d中的单件类 69
3.10 cocos2d测试案例 71
3.11 本章小结 71
第4章 你的第一个游戏 73
4.1 按部就班地创建项目 73
4.2 添加Player Sprite 78
4.3 加速计输入 80
4.4 首次测试运行 81
4.5 玩家速度 81
4.6 添加障碍物 84
4.7 碰撞检测 91
4.8 标签和位图字体 92
4.8.1 添加得分标签 92
4.8.2 CCLabelBMFont简介 93
4.8.3 使用Glyph Designer创建 位图字体 94
4.9 播放音频 95
4.10 移植到iPad 97
4.10.1 单个通用的应用程序还是 两个单独的应用程序 97
4.10.2 使用Xcode 3移植 到iPad 98
4.10.3 使用Xcode 4移植 到iPad 99
4.11 本章小结 100
第5章 游戏组件 .101
5.1 使用多个场景 101
5.1.1 添加多个场景 101
5.1.2 正在加载下一段,请做好 准备 104
5.2 使用多个层 106
5.2.1 实现关卡的最佳方法 112
5.2.2 CCLayerColor 113
5.3 从CCSprite类继承游戏 对象 114
5.4 使用CCSprite复合游戏 对象 115
5.5 奇妙的CCNode派生类 119
5.5.1 CCProgressTimer 119
5.5.2 CCParallaxNode 120
5.5.3 CCRibbon 122
5.5.4 CCMotionStreak 124
5.6 本章小结 125
第6章 深入了解精灵 127
6.1 Retina显示屏幕 127
6.2 CCSpriteBatchNode 129
6.2.1 何时使用 CCSpriteBatchNode 131
6.2.2 示例项目 131
6.3 精灵动画初体验 137
6.4 用于创建动画的辅助类别 139
6.5 使用纹理图册 141
6.5.1 何为纹理图册 141
6.5.2 TexturePacker工具介绍 141
6.5.3 为TexturePacker准备项目 142
6.5.4 使用TexturePacker创建纹理 图册 143
6.5.5 在cocos2d中使用纹理 图册 146
6.5.6 改进CCAnimation辅助 类别 147
6.5.7 将所有图像都放入一个 纹理图册中 149
6.6 本章小结 150
第7章 滚屏射击游戏(上) 151
7.1 高级视差滚屏 151
7.1.1 将背景创建为条纹 151
7.1.2 在代码中重建背景 153
7.1.3 移动ParallaxBackground 155
目 录
XI
7.1.4 视差滚动的速度因素 156
7.1.5 实现背景的无限滚动 158
7.1.6 消除闪烁 160
7.1.7 重复贴图 161
7.2 虚拟手柄 162
7.2.1 引入SneakyInput 162
7.2.2 集成SneakyInput 163
7.2.3 触摸按钮产生射击 165
7.2.4 为按钮添加皮肤 166
7.2.5 控制动作 169
7.2.6 数字控制 171
7.3 本章小结 172
第8章 滚屏射击游戏(下) 173
8.1 添加BulletCache类 173
8.2 关于敌人 177
8.3 Entity类的继承体系 178
8.3.1 EnemyEntity类 179
8.3.2 EnemyCache类 183
8.3.3 组件类 186
8.4 射击开火 189
8.5 大怪物的生命条 190
8.6 本章小结 193
第9章 粒子效果 195
9.1 粒子效果实例 195
9.2 用复杂方法创建粒子效果 198
9.2.1 继承CCParticleSystem: 点粒子还是方形粒子 199
9.2.2 CCParticleSystem属性 202
9.3 Particle Designer 210
9.3.1 Particle Designer介绍 210
9.3.2 使用Particle Designer生成 的粒子效果 213
9.3.3 分享粒子效果 214
9.4 在射击游戏中添加粒子 效果 216
9.5 本章小结 217
第10章 瓦片地图 219
10.1 瓦片地图简介 219
10.2 使用TexturePacker处理 图像 222
10.3 Tiled(Qt)地图编辑器 223
10.3.1 创建新的瓦片地图 223
10.3.2 设计瓦片地图 224
10.4 在cocos2d中使用直角瓦片 地图 227
10.4.1 定位被触摸的瓦片 230
10.4.2 提高性能和可读性 232
10.4.3 使用对象层 233
10.4.4 绘制对象层矩形 234
10.4.5 滚动瓦片地图 237
10.5 本章小结 238
第11章 斜角瓦片地图 241
11.1 设计斜角瓦片地图图形 242
11.2 使用Tiled编辑斜角瓦片 地图 244
11.2.1 新建斜角瓦片地图 245
11.2.2 创建新的斜角瓦片集 246
11.2.3 设计斜角瓦片地图的基本 规则 246
11.3 将斜角瓦片地图应用到游戏 编程中 248
11.3.1 在cocos2d中加载斜角 瓦片地图 248
11.3.2 在cocos2d中设置斜角 瓦片地图 248
11.3.3 定位斜角瓦片 250
11.3.4 滚动斜角瓦片地图 252
11.3.5 斜角瓦片地图的边界 问题 253
11.3.6 增加可移动的玩家角色 255
11.4 在游戏中加入更多内容 262
11.5 本章小结 263
第12章 物理引擎 265
12.1 物理引擎的基本概念 265
12.2 物理引擎的局限性 266
12.3 Box2D与Chipmunk 266
iOS 5 cocos2d 游戏开发实战(第 2 版)
XII
12.4 Box2D 267
12.4.1 Box2D眼中的世界 268
12.4.2 把移动范围限制在 屏幕内 269
12.4.3 转换点 271
12.4.4 在Box2D世界中添加 盒子 272
12.4.5 连接精灵和刚体 273
12.4.6 碰撞检测 275
12.4.7 连接刚体 277
12.5 Chipmunk 278
12.5.1 面向对象的Chipmunk 278
12.5.2 构建Chipmunk物理 空间 279
12.5.3 将盒子添加到物理 空间中 280
12.5.4 添加小盒子 281
12.5.5 更新盒子的精灵 283
12.5.6 Chipmunk碰撞实践 284
12.5.7 Chipmunk中的关节 285
12.6 本章小结 287
第13章 弹球游戏 289
13.1 图形:凸多边形和逆时针 方式 289
13.2 使用PhysicsEditor 290
13.2.1 定义发射器形状 292
13.2.2 定义弹球桌形状 293
13.2.3 定义挡板 296
13.2.4 定义反弹器和球 297
13.2.5 保存并发布 297
13.3 编写弹球游戏 298
13.3.1 BodyNode类 298
13.3.2 创建弹球桌 302
13.3.3 Box2D调试绘制 307
13.3.4 添加球 308
13.3.5 使球动起来 310
13.3.6 添加反弹器 313
13.3.7 发射器 314
13.3.8 挡板 323
13.4 本章小结 326
第14章 Game Center 329
14.1 激活Game Center 329
14.1.1 在iTunes Connect中创建 应用程序 330
14.1.2 建立排行榜和成就 330
14.1.3 创建cocos2d Xcode 项目 331
14.1.4 配置Xcode项目 331
14.1.5 小结 334
14.2 Game Kit编程 335
14.2.1 GameKitHelper委托 335
14.2.2 检查Game Center是否 可用 336
14.2.3 验证本地玩家身份 337
14.2.4 block对象 340
14.2.5 接收本地玩家的好友 列表 341
14.2.6 排行榜 343
14.2.7 成就 348
14.2.8 联机 352
14.2.9 收发数据 356
14.3 本章小结 360
第15章 cocos2d与UIKit视图 361
15.1 Cocoa Touch是什么 361
15.2 同时使用Cocoa Touch和 cocos2d 362
15.2.1 为什么将Cocoa Touch和 cocos2d混合在一起 362
15.2.2 混合Cocoa Touch和 cocos2d的局限性 362
15.2.3 Cocoa Touch和cocos2d 的区别 363
15.3 注意:你在cocos2d中的第 一个UIKit视图 364
15.4 在cocos2d应用程序中嵌入 UIKit视图 367
目 录
XIII
15.4.1 在cocos2d视图的前面添加 视图 367
15.4.2 使用UIImage改变 UITextField的皮肤 369
15.4.3 在cocos2d视图的后面 添加视图 371
15.4.4 添加利用Interface Builder 的视图设计 377
15.4.5 自动旋转中的方向问题 380
15.5 在Cocoa Touch应用程序中 嵌入cocos2d视图 384
15.5.1 用cocos2d创建基于视图 的应用程序项目 384
15.5.2 设计混合应用程序的用户 界面 387
15.5.3 启动cocos2d引擎 388
15.5.4 停止和重启cocos2d 引擎 390
15.5.5 改变场景 392
15.6 本章小结 393
第16章 Kobold2D入门 395
16.1 使用Kobold2D的好处 396
16.1.1 准备使用Kobold2D 396
16.1.2 免费使用Kobold2D 396
16.1.3 Kobold2D升级简单 396
16.1.4 提供类库服务 397
16.1.5 Kobold2D的跨平台性 397
16.2 Kobold2D的工作空间 398
16.3 Hello-Kobold2D模板项目 399
16.3.1 HelloWorld项目文件 399
16.3.2 Kobold2D 如何启动应用 程序 401
16.3.3 用iSimulate运行 HelloWorld 408
16.4 使用KKInput编写的针对 Mac的DoodleDrop 409
16.5 使用cocos3d进入3D 世界 411
16.5.1 AppDelegate类的变化 411
16.5.2 cocos3d世界 415
16.5.3 将cocos3d添加到现有 的Kobold2D项目中 417
16.6 本章小结 418
第17章 番外篇 419
17.1 其他学习和工作资源 419
17.1.1 寻求帮助 420
17.1.2 从源码项目中受益 422
17.1.3 Cocos2D Podcast 427
17.1.4 工具介绍 427
17.1.5 cocos2d参考应用程序 428
17.2 游戏行业 430
17.2.1 与出版商合作 431
17.2.2 寻找自由职业者 432
17.2.3 寻找免费的艺术品 和音频 432
17.2.4 寻找相关工具 433
17.2.5 市场 433
17.2.6 使用更多技术获得更多 收入 436
17.3 本章小结 440
译者序
时隔一年,《iOS 5 cocos2d游戏开发实战(第2版)》与大家见面了,而我也长大了一岁,告别了学术气氛浓郁的同济大学苹果俱乐部,来到了美国继续学习。到了美国,最令人称奇的是,近八成人手上拥有至少一台苹果设备,近五成人手上拥有iPhone手机。我想这无疑是对Apple开发人员的一种鼓舞。想象一下,当全球的苹果用户打开自己的iPhone或iPad,开始为你开发的Apple应用痴狂时的感受吧!相信本书有助于你实现梦想。
一年中,随着iOS 5的推出,cocos2d游戏引擎也有了翻天覆地的变化。很多旧方法被摒弃,新的技术得以崭露头角。同为Apple开发爱好者的我们,不要停止学习的步伐,只有跟上时代发展的潮流,我们才能开发出更具竞争力的应用或游戏。
此次再版,在保留第1版原有内容的基础上,添加了有关cocos2d 与UIKit视图结合使用以及Kobold2D的内容,并对原有内容进行了技术细节上的修改。相信学习过本书第1版的人一定觉得受益匪浅,但是你仍然可以从本书中学到很多之前没有见过的技术和实现方法。没有看过第1版的人,也没有关系,因为本书将会手把手教会你从零开始,循序渐进地进入cocos2d世界。
本书的翻译、整理和审校工作由赵晓欣、张雪薇、王得希和我共同完成。特别感谢张雯莹老师为我们的翻译工作提供了大力支持和帮助。由于时间仓促,加之水平有限,书中难免会有错漏之处,希望读者能够提供反馈,我们将不胜感激。
霍 巨
2012年8月29日
写于Washington DC
前言
2009年5月,我第一次接触了Mac OS平台,并且学习了Xcode、Objective-C和cocos2d。即便是对于经验丰富的程序员来说,这也是一个不小的挑战。就在那段时间,我意识到cocos2d真的很棒。但是,相比我当时学习的其他技术,cocos2d的教程、文档和说明文章实在是太匮乏了。
转眼就到了2010年5月。在这一年里,我完成了4个cocos2d项目。我对Objective-C和cocos2d的使用都更加娴熟了。但是,我发现其他很多的程序员还在为一些基本的问题感到困惑,甚至产生误解,这些情景让我想到了一年前痛苦的自己。有关cocos2d的文档依然处于严重缺乏的状态。
今天,有不少使用cocos2d的开发者在博客上发布cocos2d教程、分享他们的使用心得,并因此引起了广泛的关注。大家都在积极地撰写着cocos2d的文档,只可惜你一言我一语,太过分散,读者很难对cocos2d有一个系统的理解。所以,这时候就需要有一个网站来整合这些散落在网络上的宝贵资料。
为此,我创建了一个网站(www.learn-cocos2d.com)来分享我对cocos2d和游戏开发的理解。这个网站上有一些教程,列出了一些常见问题的解答,并提供链接以便对cocos2d感兴趣的读者能够找到所有与cocos2d有关的重要资料。相应的,我也会出售一些与cocos2d相关的产品,希望有一天它能助我达到经济独立的终极目标。我知道这个网站可以令所有人受益。
从网站发布的第一天起,它就获得了很大的成功(我做梦也没想到)。同时,在网站发布后的24小时内,Jack Nutting就问我是不是考虑写一本有关cocos2d的书。于是,在经历了一系列小故事之后,就有了现在你手上的这本书。
我把我所知道的一切都放在了我的网站上,也写进了这本书里,但这些内容最多也就占全书的1/4。我希望这本书可以以前所未有的详细叙述向大家介绍cocos2d的工作原理和使用方法,如果真是这样,那么我这4个月夜以继日的辛勤劳动就真的值了!
在这本书的撰写过程中,尤其是在本书第二版更新内容的过程中,我学到了很多东西。我最大的期待就是你能够从本书中学习到所有你想要知道的cocos2d和游戏开发知识!
写作cocos2d图书的过程让我意识到cocos2d还有改进的空间。我强烈感觉到需要一个更好的、让游戏开发初学者更容易上手的cocos2d,因而创建了Kobold2D。本书第16章和www.kobold2d.com上都介绍了Kobold2D。读者可以放心的是,在本书中学到的几乎全部内容都适用于Kobold2D。