书 名: iOS 5 cocos2d游戏开发实战(第2版)
书 号: 9787302303039
出 版 社: 清华大学出版社
定 价: 59.80元
出 版 日 期: 2012-10-01
作 者: (美)伊特海姆 (德)勒夫
译 者: 同济大学苹果俱乐部
系 列书 名: 清图程序设计系列
开 本: 16 开
页 数: 456
印 刷 时 间: 2012-10-15
字 数: 694千字
版 次: 2
包 装: 平装
样章试读:http://www.tupbook.com/BookView.aspx?id=104
内容简介: 《iOS 5 cocos2d游戏开发实战(第2版)》将引导您开发富有吸引力的2D游戏。书中展示了如何使用cocos2d这款强大的游戏引擎来开发iPhone和iPad游戏,此外还介绍了游戏中的瓦片地图、虚拟摇杆、Game Center等。
本书主要内容:
• 移动游戏开发的过程和最佳实践,包括精灵批处理技术、纹理图册、视差滚动、触屏以及加速计输入。
• 使用Box2D、Chipmunk物理引擎以及其他cocos2d相关的库和工具提升游戏性能。
• 在cocos2d应用中添加UIKit视图,以及在UiKit 视图中添加cocos2d。
• 详细介绍Kobold2D开发环境及其预配置库,包括cocos3d和Lua。
最重要的是,《iOS 5 cocos2d游戏开发实战(第2版)》将从最基础的地方引领您开发游戏,一步一步地指导创建示例游戏。这些示例都是根据App Store中流行的游戏改编而成的,它们能让您了解cocos2d游戏引擎中重要的概念和相关工具的使用,比如TexturePacker(纹理图册)、PhysicsEditor(物理性状编辑器)、Particle Designer(粒子效果)、Glyph Designer(位图字体)等。
本书详细介绍了cocos2d游戏引擎,关注的是创建完整cocos2d游戏的过程而不是展示大量的iOS SDK 或OpenGL代码。同时还介绍了不同的实现方法,展示了用来辅助cocos2d游戏开发最好且免费的商用工具,阐释了作者完善过的cocos2d游戏引擎——Kobold2D,让您的游戏在App Store中更具竞争力。
前言 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。
目录: 第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 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 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 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 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
来源:https://www.cnblogs.com/tupbook/archive/2012/10/24/2736568.html