iOS cocos2d 2游戏开发实战

出版社:史蒂芬 (Steffen Itterheim)、勒夫 (Andreas Löw)、 同济大学苹果俱乐部 清华大学出版社 (2013-05出版)
出版日期:2013-5-1
ISBN:9787302318927
作者:伊特海姆 (Steffen Itterheim),勒夫 (Andreas Low)
页数:463页

前言

前言2009年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版的翻译。在这里还要特别感谢同济大学苹果俱乐部主席徐本源、杨元女士以及俱乐部各成员的大力支持和帮助。由于时间仓促,加之水平有限,书中难免会有错漏之处,希望读者能够提供反馈,我们将不胜感激。杨明2013年3月10日

内容概要

作者:(美国)史蒂芬(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章 简介 11.1 第3版中的新增内容 21.2 选择iOS版cocos2d的理由 31.2.1 免费 31.2.2 开源 41.2.3 Objective-C 41.2.4 2D游戏引擎 41.2.5 物理引擎 41.2.6 技术难度较低 51.2.7 依然需要编程 51.2.8 超棒的cocos2d社区 51.3 为什么要用Kobold2D取代cocos2d-iphone 61.4 其他cocos2d游戏引擎 61.5 本书读者对象 71.6 阅读前提 81.6.1 编程经验 81.6.2 Objective-C 81.7 本书内容 91.7.1 iOS游戏开发新手将学会什么 91.7.2 iOS应用程序开发者将学会什么 101.7.3 cocos2d开发者将学会什么 101.8 章节介绍 101.9 本书的源代码 111.10 问题和反馈 12第2章 入门 132.1 准备工作 132.1.1 系统要求 132.1.2 注册成为iOS 开发者 142.1.3 证书与授权文件 142.1.4 下载并安装Xcode与iOS SDK 152.1.5 下载cocos2d或Kobold2D 162.1.6 安装Kobold2D 162.1.7 创建Kobold2D 项目 162.1.8 安装cocos2d及其Xcode项目模板 182.1.9 创建cocos2d项目的方式 192.1.10 如何在cocos2d项目中支持ARC 212.2 cocos2d和Kobold2D应用程序剖析 282.3 支持ARC的内存管理 342.4 改变世界 352.5 你还应该知道的 372.5.1 iOS设备 372.5.2 关于内存的使用 382.5.3 iOS模拟器 392.5.4 关于性能和日志 402.6 本章小结 41第3章 基础知识 433.1 cocos2d场景图 433.2 CCNode类的层次结构 463.3 CCNode类 473.3.1 节点的处理方式 473.3.2 动作的处理方式 483.3.3 消息调度 493.4 Director类、场景和层 533.4.1 Director类 533.4.2 CCScene类 533.4.3 场景和内存 543.4.4 推进和弹出场景 553.4.5 CCTransitionScene类 563.4.6 CCLayer类 583.5 CCSprite类 643.6 CCLabelTTF类 653.7 菜单 663.8 动作 713.8.1 延时动作 723.8.2 瞬时动作 773.9 方向、单例、测试、API参考 803.10 本章小结 86第4章 你的第一个游戏 874.1 创建DoodleDrop项目 884.2 从一个支持ARC的cocos2d项目开始 884.3 创建DoodleDrop场景 904.4 添加Player Sprite 934.5 加速计输入 964.6 首次测试运行 974.7 玩家速度 974.8 添加障碍物 1004.9 碰撞检测 1054.10 标签和位图字体 1074.10.1 添加得分标签 1074.10.2 CCLabelBMFont简介 1084.10.3 使用Glyph Designer创建位图字体 1094.11 播放音频 1114.12 iPad开发注意事项 1134.12.1 支持Retina高清显示屏的iPad 1134.12.2 单个通用的应用程序亦或两款独立的应用程序 1134.12.3 限定支持设备 1144.13 本章小结 115第5章 游戏组件 1175.1 使用多个场景 1175.1.1 添加多个场景 1175.1.2 正在加载下一段,请做好准备 1205.2 使用多个层 1225.2.1 实现关卡的最佳方法 1285.2.2 CCLayerColor和CCLayerGradient 1295.3 从CCSprite类继承游戏对象 1305.4 使用CCSprite复合游戏对象 1315.5 奇妙的CCNode派生类 1355.5.1 CCProgressTimer 1365.5.2 CCParallaxNode 1375.5.3 CCMotionStreak 1395.6 本章小结 141第6章 深入了解精灵 1436.1 Retina显示屏 1436.2 CCSpriteBatchNode 1466.2.1 何时使用CCSpriteBatchNode 1486.2.2 Sprites01示例项目 1486.3 精灵动画初体验 1546.4 用于创建动画的辅助类别 1556.5 使用纹理图册 1586.5.1 何为纹理图册 1586.5.2 TexturePacker工具介绍 1586.5.3 为TexturePacker准备项目 1596.5.4 使用TexturePacker创建纹理图册 1606.5.5 在cocos2d中使用纹理图册 1636.5.6 改进CCAnimation辅助类别 1656.5.7 将所有图像都放入一个纹理图册中 1666.6 本章小结 167第7章 滚屏射击游戏(上) 1697.1 高级视差滚屏 1697.1.1 将背景创建为条纹 1697.1.2 在代码中重建背景 1717.1.3 移动ParallaxBackground 1747.1.4 视差滚动的速度因素 1757.1.5 实现背景的无限滚动 1777.1.6 消除闪烁 1807.1.7 重复贴图 1817.2 虚拟手柄 1827.2.1 SneakyInput简介 1827.2.2 触摸按钮产生射击 1857.2.3 为按钮添加皮肤 1877.2.4 控制动作 1897.2.5 数字控制 1927.3 本章小结 193第8章 滚屏射击游戏(下) 1958.1 添加BulletCache类 1958.2 添加敌人 2028.2.1 Enemy类 2038.2.2 EnemyCache类 2088.3 组件类 2128.4 射击开火 2158.5 大怪物的生命条 2188.6 本章小结 221第9章 粒子效果 2239.1 粒子效果实例 2239.2 用复杂方法创建粒子效果 2269.2.1 继承CCParticleSystem 2279.2.2 CCParticleSystem属性 2299.3 Particle Designer 2389.3.1 Particle Designer介绍 2389.3.2 使用Particle Designer生成的粒子效果 2409.3.3 分享粒子效果 2419.4 在射击游戏中添加粒子效果 2439.5 本章小结 245第10章 瓦片地图 24710.1 瓦片地图简介 24710.2 使用TexturePacker处理图像 25010.3 Tiled(Qt)地图编辑器 25110.3.1 创建新的瓦片地图 25110.3.2 设计瓦片地图 25410.4 在cocos2d中使用直角瓦片地图 25610.4.1 定位被触摸的瓦片 26010.4.2 使用对象层 26310.4.3 绘制对象层矩形 26410.4.4 滚动瓦片地图 26610.5 本章小结 268第11章 斜角瓦片地图 26911.1 设计斜角瓦片地图图形 27011.2 使用Tiled编辑斜角瓦片地图 27211.2.1 新建斜角瓦片地图 27211.2.2 创建新的斜角瓦片集 27411.2.3 设计斜角瓦片地图的基本规则 27411.3 将斜角瓦片地图应用到游戏编程中 27611.3.1 在cocos2d中加载斜角瓦片地图 27611.3.2 在cocos2d中设置斜角瓦片地图 27611.3.3 定位斜角瓦片 27811.3.4 滚动斜角瓦片地图 28111.3.5 斜角瓦片地图的边界问题 28211.3.6 增加可移动的玩家角色 28511.4 在游戏中加入更多内容 29311.5 本章小结 294第12章 物理引擎 29512.1 物理引擎的基本概念 29512.2 物理引擎的局限性 29612.3 Box2D与Chipmunk 29612.4 Box2D 29712.4.1 Box2D眼中的世界 29812.4.2 把移动范围限制在屏幕内 30212.4.3 转换点 30412.4.4 在Box2D世界中添加盒子 30412.4.5 更新Box2D世界 30612.4.6 碰撞检测 30712.4.7 连接刚体 30912.5 Chipmunk 31012.5.1 构建Chipmunk物理空间 31112.5.2 将盒子添加到物理空间中 31312.5.3 添加小盒子 31412.5.4 更新Chipmunk物理空间 31512.5.5 Chipmunk碰撞实践 31612.5.6 Chipmunk中的关节 31712.6 本章小结 319第13章 弹球游戏 32113.1 图形:凸多边形和逆时针方式 32113.2 使用PhysicsEditor 32213.2.1 定义发射器形状 32413.2.2 定义弹球桌形状 32613.2.3 定义挡板 32813.2.4 定义反弹器和球 32913.2.5 保存并发布 33013.3 编写弹球游戏 33013.3.1 强制纵向显示 33113.3.2 BodySprite类 33113.3.3 创建弹球桌 33413.3.4 Box2D调试绘制 34013.3.5 添加球 34113.3.6 使球动起来 34313.3.7 添加反弹器 34613.3.8 发射器 34813.3.9 挡板 35613.4 本章小结 360第14章 Game Center 36114.1 激活Game Center 36114.1.1 在iTunes Connect中创建应用程序 36214.1.2 建立排行榜和成就 36214.1.3 AppController和NavigationController 36314.1.4 配置Xcode项目 36314.1.5 小结 36614.2 Game Kit编程 36614.2.1 GameKitHelper委托 36714.2.2 检查Game Center是否可用 36814.2.3 验证本地玩家身份 36914.2.4 block对象 37214.2.5 接收本地玩家的好友列表 37414.2.6 排行榜 37614.2.7 成就 38214.2.8 联机 38714.2.9 收发数据 39114.3 本章小结 395第15章 cocos2d与UIKit视图 39715.1 Cocoa Touch是什么 39715.2 同时使用Cocoa Touch和cocos2d 39815.2.1 为什么将Cocoa Touch和cocos2d混合在一起 39815.2.2 混合Cocoa Touch和cocos2d的局限性 39815.2.3 Cocoa Touch和cocos2d的区别 39915.3 注意:你在cocos2d中的第一个UIKit视图 40015.4 在cocos2d应用程序中嵌入UIKit视图 40315.4.1 在cocos2d视图的前面添加视图 40315.4.2 使用UIImage改变UITextField的皮肤 40515.4.3 在cocos2d视图的后面添加视图 40715.4.4 添加利用Interface Builder的视图设计 41315.5 在Cocoa Touch应用程序中嵌入cocos2d视图 41515.5.1 用cocos2d创建基于视图的应用程序项目 41515.5.2 设计混合应用程序的用户界面 41715.5.3 启动cocos2d引擎 41815.5.4 改变场景 42115.6 本章小结 423第16章 Kobold2D入门 42516.1 使用Kobold2D的好处 42516.1.1 准备使用Kobold2D 42616.1.2 免费使用Kobold2D 42616.1.3 Kobold2D升级简单 42616.1.4 Kobold包含流行的类库 42616.1.5 Kobold2D的跨平台性 42716.2 Kobold2D的工作空间 42816.3 Hello-Kobold2D模板项目 42916.3.1 HelloWorld项目文件 42916.3.2 Kobold2D如何启动应用程序 43116.3.3 Hello Kobold2D场景和层 43416.3.4 用iSimulate运行HelloWorld 43816.4 使用KKInput编写的针对Mac的DoodleDrop 43916.5 本章小结 441第17章 番外篇 44317.1 其他学习和工作资源 44417.1.1 寻求帮助 44417.1.2 从源码项目中受益 44617.1.3 Cocos2D Podcast 45017.1.4 工具介绍 45017.1.5 cocos2d参考应用程序 45117.2 游戏行业 45317.2.1 与出版商合作 45417.2.2 寻找自由职业者 45517.2.3 寻找免费的艺术品和音频 45517.2.4 寻找相关工具 45617.2.5 营销 45617.2.6 使用更多技术获得更多收入 45917.3 本章小结 463

编辑推荐

《iOS cocos2d 2游戏开发实战(第3版)》编辑推荐:畅销书《iOS 5 cocos2d游戏开发实战(第2版)》最新升级版。针对cocos2d 2,源代码全面更新。

作者简介

《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游戏开发实战下载 精选章节试读



发布书评

 
 


精彩短评 (总计11条)

  •     还好,买错了,又给我免费换了一本Cocos 2d - x
  •     适用的程序开发教材。
  •     感觉不错具体还没怎么看
  •     内容到还不错,三星评价
  •     看着不像是新书,有破损,也懒得退了。
  •     RT,一本值得推荐的书籍。
  •     纸张差了点感觉,总体还不错,物流特快
  •     书的内容可以给5星,翻译质量减一星……有机会还是买原版吧,有不少翻译错误,需要猜回英文原文说的是什么才能理解。
  •     印刷不好,好像盗版书一样
  •     为了我们的千代喵
  •     还是不错的,学习中。
 

外国儿童文学,篆刻,百科,生物科学,科普,初中通用,育儿亲子,美容护肤PDF图书下载,。 零度图书网 

零度图书网 @ 2024