网站颜色:

ios cocos2d2游戏开发实战 第3版.

  • 产品名称:iOScocos2d2游戏开发实战...
  • 是否是套装:否
  • 书名:iOScocos2d2游戏开发实战(第3版)/移动开发经典丛书
  • 定价:59.80元
  • 出版社名称:清华大学出版社
  • 出版时间:2013年05月
  • 作者:(美)伊特海姆(德)勒夫|译者:同济大学苹果俱乐部
  • 译者:同济大学苹果俱乐部
  • 开本:16
  • 书名:iOScocos2d2游戏开发实战(第3版)/移动开发经典丛书


ISBN号码(咨询特价)
书名:ios cocos2d2游戏开发实战 第3版
作者:
出版社:清华大学出版社
出版日期 :2013-(咨询特价)
页数 :
版次 :第一版
开本 :
语种 :汉语
定价 :(咨询特价)



作者简介
作者:(美国)史蒂芬(Steffen Itterheim) (德国)勒夫(Andreas Löw) 译者:同济大学苹果俱乐部



史蒂芬(Steffen Itterheim),从20世纪90年代开始就一直热衷于游戏开发。他在Doom和Duke Nukem 3D社区表现活跃,并因此获得了他的第一份自由职业,成为3D Realms的一名beta测试人员。作为职业游戏开发者,Steffen拥有10多年的丰富经验,其中大部分时间担任Electronic Arts Phenomic的游戏和工具程序员。2009年Steffen第一次接触cocos2d,那时他与其他人共同创办了一家iOS游戏公司——Fun Armada。他乐于将自己的宝贵经验传授给其他游戏开发者,以帮助他们更上一层楼。有机会你可能会在白天看到他在住所附近茂密的葡萄园周围散铂也可能在晚上看到他在Nevada沙漠收集瓶盖。

勒夫(Andreas Löw),在10岁的时候有了一台Commodore C16,从那时起他就对计算机产生了狂热的兴趣。他自学了编写游戏的技术,并在1994年发布了自己的第一款游戏Gamma Zone,这是一款针对Commodore Amiga平台的游戏,用纯汇编语言编写完成。在获得电子工程学的学位后,他进入Harman International公司,负责为汽车行业开发具有语音识别功能的导航和系统。他开发了自己的编程语言和开发工具,现在世界上采用语音识别技术的每辆汽车都在使用他的编程语言和开发工具。

iPhone出现后,他有了回归本行的打算,开始开发一款叫做TurtleTrigger的游戏。他意识到cocos2d社区存在对好的开发工具的强烈需求。于是,利用自己在游戏和工具开发方面的知识,他开发出了TexturePacker和PhysicsEditor,它们迅速成为cocos2d用户进行开发时必不可少的工具。


目录
第1章 简介 1

1.1 第3版中的新增内容 2

1.2 选择iOS版cocos2d的理由 3

1.2.1 免费 3

1.2.2 开源 4

1.2.3 Objective-C 4

1.2.4 2D游戏引擎 4

1.2.5 物理引擎 4

1.2.6 技术难度较低 5

1.2.7 依然需要编程 5

1.2.8 超棒的cocos2d社区 5

1.3 为什么要用Kobold2D取代cocos2d-iphone 6

1.4 其他cocos2d游戏引擎 6

1.5 本书读者对象 7

1.6 阅读前提 8

1.6.1 编程经验 8

1.6.2 Objective-C 8

1.7 本书内容 9

1.7.1 iOS游戏开发新手将学会什么 9

1.7.2 iOS应用程序开发者将学会什么 10

1.7.3 cocos2d开发者将学会什么 10

1.8 章节介绍 10

1.9 本书的源代码 11

(咨询特价) 问题和反馈 12

第2章 入门 13

2.1 准备工作 13

2.1.1 系统要求 13

2.1.2 注册成为iOS 开发者 14

2.1.3 证书与授权文件 14

2.1.4 下载并安装Xcode与iOS SDK 15

2.1.5 下载cocos2d或Kobold2D 16

2.1.6 安装Kobold2D 16

2.1.7 创建Kobold2D 项目 16

2.1.8 安装cocos2d及其Xcode项目模板 18

2.1.9 创建cocos2d项目的方式 19

2.1.10 如何在cocos2d项目中支持ARC 21

2.2 cocos2d和Kobold2D应用程序剖析 28

2.3 支持ARC的内存管理 34

2.4 改变世界 35

2.5 你还应该知道的 37

2.5.1 iOS设备 37

2.5.2 关于内存的使用 38

2.5.3 iOS模拟器 39

2.5.4 关于性能和日志 40

2.6 本章小结 41

第3章 基础知识 43

3.1 cocos2d场景图 43

3.2 CCNode类的层次结构 46

3.3 CCNode类 47

3.3.1 节点的处理方式 47

3.3.2 动作的处理方式 48

3.3.3 消息调度 49

3.4 Director类、场景和层 53

3.4.1 Director类 53

3.4.2 CCScene类 53

3.4.3 场景和内存 54

3.4.4 推进和出场景 55

3.4.5 CCTransitionScene类 56

3.4.6 CCLayer类 58

3.5 CCSprite类 64

3.6 CCLabelTTF类 65

3.7 菜单 66

3.8 动作 71

3.8.1 延时动作 72

3.8.2 瞬时动作 77

3.9 方向、单例、测试、API参考 80

(咨询特价) 本章小结 86

第4章 你的第一个游戏 87

4.1 创建DoodleDrop项目 88

4.2 从一个支持ARC的cocos2d项目开始 88

4.3 创建DoodleDrop场景 90

4.4 添加Player Sprite 93

4.5 加速计输入 96

4.6 首次测试运行 97

4.7 玩家速度 97

4.8 添加障碍物 100

4.9 碰撞检测 105

(咨询特价) 标签和位图字体 107

(咨询特价).1 添加得分标签 107

(咨询特价).2 CCLabelBMFont简介 108

(咨询特价).3 使用Glyph Designer创建位图字体 109

(咨询特价) 播放音频 111

(咨询特价) iPad开发注意事项 113

(咨询特价).1 支持Retina高清显示屏的iPad 113

(咨询特价).2 单个通用的应用程序亦或两款独立的应用程序 113

(咨询特价).3 限定支持设备 114

(咨询特价) 本章小结 115

第5章 游戏组件 117

5.1 使用多个场景 117

5.1.1 添加多个场景 117

5.1.2 正在加载下一段,请做好准备 120

5.2 使用多个层 122

5.2.1 实现关卡的最佳方法 128

5.2.2 CCLayerColor和CCLayerGradient 129

5.3 从CCSprite类继承游戏对象 130

5.4 使用CCSprite复合游戏对象 131

5.5 奇妙的CCNode派生类 135

5.5.1 CCProgressTimer 136

5.5.2 CCParallaxNode 137

5.5.3 CCMotionStreak 139

5.6 本章小结 141

第6章 深入了解精灵 143

6.1 Retina显示屏 143

6.2 CCSpriteBatchNode 146

6.2.1 何时使用CCSpriteBatchNode 148

6.2.2 Sprites01示例项目 148

6.3 精灵动画初体验 154

6.4 用于创建动画的辅助类别 155

6.5 使用纹理图册 158

6.5.1 何为纹理图册 158

6.5.2 TexturePacker工具介绍 158

6.5.3 为TexturePacker准备项目 159

6.5.4 使用TexturePacker创建纹理图册 160

6.5.5 在cocos2d中使用纹理图册 163

6.5.6 改进CCAnimation辅助类别 165

6.5.7 将所有图像都放入一个纹理图册中 166

6.6 本章小结 167

第7章 滚屏射击游戏(上) 169

7.1 高级视差滚屏 169

7.1.1 将背景创建为条纹 169

7.1.2 在代码中重建背景 171

7.1.3 移动ParallaxBackground 174

7.1.4 视差滚动的速度因素 175

7.1.5 实现背景的无限滚动 177

7.1.6 消除闪烁 180

7.1.7 重复贴图 181

7.2 虚拟手柄 182

7.2.1 SneakyInput简介 182

7.2.2 触摸按钮产生射击 185

7.2.3 为按钮添加皮肤 187

7.2.4 控制动作 189

7.2.5 数字控制 192

7.3 本章小结 193

第8章 滚屏射击游戏(下) 195

8.1 添加BulletCache类 195

8.2 添加敌人 202

8.2.1 Enemy类 203

8.2.2 EnemyCache类 208

8.3 组件类 212

8.4 射击开火 215

8.5 大怪物的条 218

8.6 本章小结 221

第9章 粒子效果 223

9.1 粒子效果实例 223

9.2 用复杂方法创建粒子效果 226

9.2.1 继承CCParticleSystem 227

9.2.2 CCParticleSystem属性 229

9.3 Particle Designer 238

9.3.1 Particle Designer介绍 238

9.3.2 使用Particle Designer生成的粒子效果 240

9.3.3 分享粒子效果 241

9.4 在射击游戏中添加粒子效果 243

9.5 本章小结 245

第10章 瓦片地图 247

10.1 瓦片地图简介 247

10.2 使用TexturePacker处理图像 250

10.3 Tiled(Qt)地图编辑器 251

10.3.1 创建新的瓦片地图 251

10.3.2 设计瓦片地图 254

10.4 在cocos2d中使用直角瓦片地图 256

10.4.1 定位被触摸的瓦片 260

10.4.2 使用对象层 263

10.4.3 绘制对象层矩形 264

10.4.4 滚动瓦片地图 266

10.5 本章小结 268

第11章 斜角瓦片地图 269

11.1 设计斜角瓦片地图图形 270

11.2 使用Tiled编辑斜角瓦片地图 272

11.2.1 新建斜角瓦片地图 272

11.2.2 创建新的斜角瓦片集 274

11.2.3 设计斜角瓦片地图的基本规则 274

11.3 将斜角瓦片地图应用到游戏编程中 276

11.3.1 在cocos2d中加载斜角瓦片地图 276

11.3.2 在cocos2d中设置斜角瓦片地图 276

11.3.3 定位斜角瓦片 278

11.3.4 滚动斜角瓦片地图 281

11.3.5 斜角瓦片地图的边界问题 282

11.3.6 增加可移动的玩家角色 285

11.4 在游戏中加入更多内容 293

11.5 本章小结 294

第12章 物理引擎 295

12.1 物理引擎的基本概念 295

12.2 物理引擎的局限性 296

12.3 Box2D与Chipmunk 296

12.4 Box2D 297

12.4.1 Box2D眼中的世界 298

12.4.2 把移动范围限制在屏幕内 302

12.4.3 转换点 304

12.4.4 在Box2D世界中添加盒子 304

12.4.5 更新Box2D世界 306

12.4.6 碰撞检测 307

12.4.7 连接刚体 309

12.5 Chipmunk 310

12.5.1 构建Chipmunk物理空间 311

12.5.2 将盒子添加到物理空间中 313

12.5.3 添加小盒子 314

12.5.4 更新Chipmunk物理空间 315

12.5.5 Chipmunk碰撞实践 316

12.5.6 Chipmunk中的关节 317

12.6 本章小结 319

第13章 球游戏 321

13.1 图形:凸多边形和逆时针方式 321

13.2 使用PhysicsEditor 322

13.2.1 定义发射器形状 324

13.2.2 定义球桌形状 326

13.2.3 定义挡板 328

13.2.4 定义反器和球 329

13.2.5 保存并发布 330

13.3 编写球游戏 330

13.3.1 强制纵向显示 331

13.3.2 BodySprite类 331

13.3.3 创建球桌 334

13.3.4 Box2D调试绘制 340

13.3.5 添加球 341

13.3.6 使球动起来 343

13.3.7 添加反器 346

13.3.8 发射器 348

13.3.9 挡板 356

13.4 本章小结 360

第14章 Game Center 361

14.1 激活Game Center 361

14.1.1 在iTunes Connect中创建应用程序 362

14.1.2 建立排行榜和成就 362

14.1.3 AppController和NavigationController 363

14.1.4 配置Xcode项目 363

14.1.5 小结 366

14.2 Game Kit编程 366

14.2.1 GameKitHelper委托 367

14.2.2 检查Game Center是否可用 368

14.2.3 验证本地玩家身份 369

14.2.4 block对象 372

14.2.5 接收本地玩家的好友列表 374

14.2.6 排行榜 376

14.2.7 成就 382

14.2.8 联机 387

14.2.9 收发数据 391

14.3 本章小结 395

第15章 cocos2d与UIKit视图 397

15.1 Cocoa Touch是什么 397

15.2 同时使用Cocoa Touch和cocos2d 398

15.2.1 为什么将Cocoa Touch和cocos2d混合在一起 398

15.2.2 混合Cocoa Touch和cocos2d的局限性 398

15.2.3 Cocoa Touch和cocos2d的区别 399

15.3 注意:你在cocos2d中的第一个UIKit视图 400

15.4 在cocos2d应用程序中嵌入UIKit视图 403

15.4.1 在cocos2d视图的前面添加视图 403

15.4.2 使用UIImage改变UITextField的皮肤 405

15.4.3 在cocos2d视图的后面添加视图 407

15.4.4 添加利用Interface Builder的视图设计 413

15.5 在Cocoa Touch应用程序中嵌入cocos2d视图 415

15.5.1 用cocos2d创建基于视图的应用程序项目 415

15.5.2 设计混合应用程序的用户界面 417

15.5.3 启动cocos2d引擎 418

15.5.4 改变场景 421

15.6 本章小结 423

第16章 Kobold2D入门 425

16.1 使用Kobold2D的好处 425

16.1.1 准备使用Kobold2D 426

16.1.2 免费使用Kobold2D 426

16.1.3 Kobold2D升级简单 426

16.1.4 Kobold包含流行的类库 426

16.1.5 Kobold2D的跨平台性 427

16.2 Kobold2D的工作空间 428

16.3 Hello-Kobold2D模板项目 429

16.3.1 HelloWorld项目文件 429

16.3.2 Kobold2D如何启动应用程序 431

16.3.3 Hello Kobold2D场景和层 434

16.3.4 用iSimulate运行HelloWorld 438

16.4 使用KKInput编写的针对Mac的DoodleDrop 439

16.5 本章小结 441

第17章 番外篇 443

17.1 其他学习和工作资源 444

17.1.1 寻求帮助 444

17.1.2 从源码项目中受益 446

17.1.3 Cocos2D Podcast 450

17.1.4 工具介绍 450

17.1.5 cocos2d参考应用程序 451

17.2 游戏行业 453

17.2.1 与出版商合作 454

17.2.2 寻找自由职业者 455

17.2.3 寻找免费的艺术品和音频 455

17.2.4 寻找相关工具 456

17.2.5 营销 456

17.2.6 使用更多技术获得更多收入 459

17.3 本章小结 463





前言

(咨询特价)年5月,我第一次接触了Mac OS平台,并且学习了Xcode、Objective-C和cocos2d。即便是对于经验丰富的程序员来说,这也是一个不小的挑战。就在那段时间,我意识到cocos2d真的很棒。但是,相比我当时学习的其他技术,cocos2d的教程、文档和说明文章实在是太匮乏了。

转眼就到了2010年5月。在这一年里,我完成了4个cocos2d项目。我对Objective-C和cocos2d的使用都更加娴熟了。但是,我发现其他很多的程序员还在为一些基本的问题感到困惑,甚至产生误解,这些情景让我想到了一年前痛苦的自己。有关cocos2d的文档依然处于严重缺乏的状态。

今天,有不少使用cocos2d的开发者在博客上发布cocos2d教程、分享他们的使用心得,并因此引起了广泛的关注。大家都在积极地撰写着cocos2d的文档,只可惜你一言我一语,太过分散,读者很难对cocos2d有一个系统的理解。所以,这时候就需要有一个网站来整合这些散落在网络上的宝贵资料。

为此,我创建了一个网站来分享我对cocos2d和游戏开发的理解。这个网站上有一些教程,列出了一些常见问题的解答,并提供链接以便对cocos2d感兴趣的读者能够找到所有与cocos2d有关的重要资料。相应的,我也会出售一些与cocos2d相关的产品,希望有一天它能助我达到经济独立的终极目标。我知道这个网站可以令所有人受益。

在网站发布后的24小时内,Jack Nutting就问我是不是考虑写一本有关cocos2d的书。于是,在经历了一系列小故事之后,就有了现在你手上的这本书。

我把我所知道的一切都放在了我的网站上,也写进了这本书里,但这些内容最多也就占全书的1/4。我希望这本书可以以前所未有的详细叙述向大家介绍cocos2d的工作原理和使用方法,如果真是这样,那么我这5个月夜以继日的辛勤劳动就真的值了!

在这本书的撰写过程中,尤其是在本书第2版和第3版更新内容的过程中,我学到了很多东西。我最大的期待就是你能够从本书中学习到所有你想要知道的cocos2d和游戏开发知识!

写作cocos2d图书的过程让我意识到cocos2d还有改进的空间。我强烈感觉到需要一个更好的、让游戏开发初学者更容易上手的cocos2d,因而创建了Kobold2D。本书第16章介绍了Kobold2D。与cocos2d不同的是,Kobold2D有一个安装程序,提供了完整的文档,包含了重要的库,启用了ARC,并且还附带了几十个示例项目。在此基础上,Kobold2D还包含了一些额外的功能。本书第3版的目标是与Kobold2D 2.0完全兼容。

译者序

随着苹果公司不断地创新与发展,新的iPhone 5、iPad 4以及iPad mini产品相继问世,包括iOS与Xcode在内的开发环境和开发工具也都有了更新和进步。相信有不少开发团队正紧锣密鼓地在iPhone 5和iPad mini上部署自己的应用,一切都是那么令人激动!而随着iOS 6的推出,cocos2d游戏引擎又有了新的发展。在IT行业,可谓唯一不变的便是变化。日新月异的技术需要同为开发者的你我保持强盛的好奇心和完美的学习状态,只有这样,才能不断进铂开发出更酷的游戏或应用。相信这本书的再版,一定能使你受益匪浅,帮助你实现梦想。

此次再版,在保留原有内容的基础上,进行了一些全面彻底的检查与更新,目的就是为了适应iOS 6和Xcode 4.4的开发环境与工具的新发展。cocos2d 2.0的发布引入了ARC(自动引用计数)技术,并修改了一些函数重载方式。还有更多的细节,等待着你去探索和尝试。相信你已经跃跃欲试了吧!初次接触cocos2d的人也不用担心,本书会通过一些基于App Store上热门游戏的原型改编示例,逐步引导你动手实践,向你打开cocos2d 2.0精彩世界的大门!

和读者一样,我一直期待着本书的出版。在同济大学苹果俱乐部前辈们的工作基础上,我利用这个寒假完成本书第3版的翻译。在这里还要特别感谢同济大学苹果俱乐部主席徐本源、杨女士以及俱乐部各成员的大力支持和帮助。

由于时间仓促,加之水平有限,书中难免会有错漏之处,希望读者能够提供反馈,我们将不胜感激。

杨明

(咨询特价)年3月10日


内容简介



《iOS cocos2d 2游戏开发实战(第3版)》详细介绍了cocos2d游戏引擎,关注的是创建完整cocos2d游戏的过程而不是展示大量的iOS SDK或OpenGL代码。在学习cocos2d 2游戏开发的过程中,你还会学到cocos2d游戏引擎中重要的编程概念并完成一些移动游戏开发的最佳实践,包括对精灵批处理技术、纹理地图、平行视差滚屏、触控和加速计输入。这有助你理解一些内部原理,当为交互式游戏进行设计、架构以及编写代码时,这些原理会帮你做出一些艰难决策,你能够从中获得许多宝贵的经验,进而在以后的项目中获得成功。

《iOS cocos2d 2游戏开发实战(第3版)》特色:借助cocos2d 2游戏引擎来开发iPhone和iPad游戏;使用Box2D和Chipmunk物理引擎以及一些其他相关的工具来提升游戏性能;运用Kobold2D开发环境及其自带的库,包括cocos3d和Lua;在cocos2d应用中添加UIKit视图,以及在UIKit视图中嵌入cocos2d;利用一些最好且免费的商用工具;开发在App Store上销路极佳的游戏。







显示更多




显示更少




《iOS cocos2d 2游戏开发实战(第3版)》详细介绍了cocos2d游戏引擎,关注的是创建完整cocos2d游戏的过程而不是展示大量的iOS SDK或OpenGL代码。在学习cocos2d 2游戏开发的过程中,你还会学到cocos2d游戏引擎中重要的编程概念并完成一些移动游戏开发的最佳实践,包括对精灵批处理技术、纹理地图、平行视差滚屏、触控和加速计输入。这有助你理解一些内部原理,当为交互式游戏进行设计、架构以及编写代码时,这些原理会帮你做出一些艰难决策,你能够从中获得许多宝贵的经验,进而在以后的项目中获得成功。

《iOS cocos2d 2游戏开发实战(第3版)》特色:借助cocos2d 2游戏引擎来开发iPhone和iPad游戏;使用Box2D和Chipmunk物理引擎以及一些其他相关的工具来提升游戏性能;运用Kobold2D开发环境及其自带的库,包括cocos3d和Lua;在cocos2d应用中添加UIKit视图,以及在UIKit视图中嵌入cocos2d;利用一些最好且免费的商用工具;开发在App Store上销路极佳的游戏。

热门设计服务