下载安卓APP箭头
箭头给我发消息

客服QQ:3315713922
读书 > 移动开发 >IOS > iOS游戏开发——基于iPad, iPhone和iPod Touch

iOS游戏开发——基于iPad, iPhone和iPod Touch

综合评级:★★★★★

定价:79.00

作者:(美)Thomas Lucka 著,沈旻 译

出版社:清华大学出版社

出版日期:2015年5月

页数:377

ISBN:9787302385882

书籍介绍

本书详细阐述了与iOS游戏开发技术相关的高效解决方案及相应的数据结构和算法,主要包括工作模式、游戏开发简介、基于GameKit和Game Center的多玩家游戏、OpenGL ES开发、3D游戏、物理引擎Box2D、GLKit框架、基于OpenAL的游戏声音、发布游戏等内容。此外,本书还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解相关方案的实现过程。

相关课程
目录

第 1章简介................................................................................................................. 1

1.1 iPhone游戏程序设计 ................................................................................................ 1

1.2欢迎进入 apple世界—— iPhone现象 ..................................................................... 2

1.3 iPhone家族——规范 ................................................................................................. 4

1.4开始之旅 .................................................................................................................... 5

1.4.1 下载书中的示例 ............................................................................................. 6

1.4.2 反馈意见 ......................................................................................................... 7

第 2章基础知识——工作模式 .................................................................................... 8

2.1 iOSDev Center............................................................................................................ 8

2.2下载并安装 Xcode和 iOS SDK ................................................................................ 9

2.2.1 下载并尝试运行示例代码 ............................................................................. 9

2.2.2 使用 iPhone模拟器 ........................................................................................ 9

2.3使用 Xcode模板 ...................................................................................................... 10

2.4基于控制台输出的 Hello World程序 .................................................................... 10

2.4.1 委托和 Main方法 ......................................................................................... 11

2.4.2 程序流、框架和 App文件 ........................................................................... 13

2.4.3 委托类的结构和控制台输出的实现过程 .................................................... 13

2.5视图实例中的 Hello World文本 ............................................................................ 16

2.6 Objective-C语言简介 .............................................................................................. 20

2.6.1 Objective-C语言的历史 ............................................................................... 20

2.6.2 与方法相关的语法 ....................................................................................... 20

2.6.3 类声明 ........................................................................................................... 21

2.6.4 创建对象 ....................................................................................................... 22

2.6.5 实例和类方法 ............................................................................................... 23

2.6.6 内存管理 ....................................................................................................... 24

2.6.7 自动引用计数( ARC) ............................................................................... 26

2.7应用程序的生命周期 .............................................................................................. 27

·VI· iOS游戏开发——基于 iPad,iPhone和 iPod Touch

2.8更为广泛的支持——通用程序 ............................................................................... 30

2.8.1 iPad于游戏开发的优势 ............................................................................... 31

2.8.2 独立平台的程序设计 ................................................................................... 32

2.8.3 条件编码 ....................................................................................................... 32

2.8.4 通用应用程序开发示例 ............................................................................... 34

2.8.5 关闭状态栏 ................................................................................................... 40

2.8.6 添加资源——应用程序图标和启动图像 .................................................... 40

2.8.7 设置应用程序名称 ....................................................................................... 42

2.8.8 查询分辨率和文本输出 ............................................................................... 43

2.9支持 Retina显示 ...................................................................................................... 45

2.9.1 Retina分辨率的支持方式 ............................................................................ 46

2.9.2 测试 Retina模拟器 ....................................................................................... 47

第 3章游戏开发简介 ................................................................................................ 48

3.1游戏的工作方式 ...................................................................................................... 48

3.1.1 游戏的制作方式 ........................................................................................... 48

3.1.2 相关知识 ....................................................................................................... 49

3.2二维坐标系 .............................................................................................................. 50

3.3构建示例项目 .......................................................................................................... 51

3.4绘制类:渲染简单的场景 ...................................................................................... 54

3.4.1 如何绘制直线 ............................................................................................... 54

3.4.2 确定颜色和透明度 ....................................................................................... 55

3.4.3 直线宽度 ....................................................................................................... 56

3.4.4 随机数和抽象艺术 ....................................................................................... 56

3.4.5 如何绘制矩形 ............................................................................................... 58

3.4.6 如何绘制圆 ................................................................................................... 59

3.4.7 文本输出(字体和字号) ........................................................................... 59

3.5整合、加载和显示图像 .......................................................................................... 60

3.6游戏循环和帧 .......................................................................................................... 68

3.7剪裁和动画 .............................................................................................................. 73

3.7.1 剪裁和贴图 ................................................................................................... 77

3.7.2 创建精灵对象 ............................................................................................... 77

3.7.3 利用数组进行有效的组织 ........................................................................... 83

3.8碰撞控制 .................................................................................................................. 85

3.8.1 两点之间的距离 ........................................................................................... 92

3.8.2 基于圆的碰撞检测 ....................................................................................... 94

3.9用户输入 .................................................................................................................. 95

3.10游戏管理器和精灵对象管理器 .......................................................................... 105

3.10.1游戏元素 ................................................................................................... 106

3.10.2赢得游戏 ................................................................................................... 107

3.10.3战胜对手 ................................................................................................... 107

3.10.4控制 ........................................................................................................... 107

3.10.5 HUD(平视显示) ................................................................................... 107

3.10.6菜单导航 ................................................................................................... 107

3.10.7组建代码 ................................................................................................... 111

3.10.8资源管理 ................................................................................................... 112

3.10.9精灵对象的管理 ....................................................................................... 114

3.10.10 单次动画序列 ......................................................................................... 119

3.10.11 有限状态机 ............................................................................................. 121

3.10.12 用户输入 ................................................................................................. 123

3.10.13 HUD和得分机制 .................................................................................... 126

3.11背景音乐和音效 .................................................................................................. 127

3.11.1框架整合 ................................................................................................... 128

3.11.2 AVAudioPlayer的应用方式 .................................................................... 129

3.11.3复音和音频格式 ....................................................................................... 130

3.11.4如何获取适宜的音频 ............................................................................... 130

3.11.5将音频整合至游戏中 ............................................................................... 132

3.12数据存储 .............................................................................................................. 142

第 4章基于 GameKit和 Game Center的多玩家游戏 ............................................. 146

4.1简介 ........................................................................................................................ 146

4.2设置 iTunes连接 ................................................................................................... 148

4.3通过 Game Center测试应用程序 ......................................................................... 152

4.3.1 登录 Game Center ....................................................................................... 154

4.3.2 回调句柄 ..................................................................................................... 156

4.3.3 上传积分榜 ................................................................................................. 157

·VIII· iOS游戏开发——基于 iPad,iPhone和 iPod Touch

4.3.4 积分榜 ......................................................................................................... 157

4.3.5 将 GCHelper整合应用程序中 ................................................................... 159

4.4多玩家游戏 ............................................................................................................ 160

第 5章 OpenGL ES开发 ........................................................................................ 164

5.1为何使用 OpenGL ES............................................................................................ 164

5.2 OpenGL ES及其构建方式 .................................................................................... 165

5.3 OpenGL ES中的基本问题 .................................................................................... 166

5.4 OpenGL ES的整合操作 ........................................................................................ 167

5.5 OpenGL坐标系 ..................................................................................................... 174

5.6简单的绘制操作 .................................................................................................... 177

5.7数学绘图 ................................................................................................................ 183

5.8图像和纹理 ............................................................................................................ 185

5.9基于矩阵的转换函数 ............................................................................................ 198

5.10基于纹理剪裁的动画效果 .................................................................................. 202

5.11滚屏和视差滚屏 .................................................................................................. 206

5.12基于 OpenGL ES的射击游戏 ............................................................................. 214

5.12.1完整框架 ................................................................................................... 217

5.12.2游戏体验 ................................................................................................... 223

5.12.3精灵类 ....................................................................................................... 227

5.12.4游戏元素 ................................................................................................... 234

5.13基于 OpenGL ES的视网膜显示 ......................................................................... 247

5.13.1精确的像素渲染 ....................................................................................... 247

5.13.2是否采用全分辨率 ................................................................................... 247

5.13.3性能问题 ................................................................................................... 248

第 6章 3D游戏 ....................................................................................................... 249

6.1 3D游戏的构建方式 .............................................................................................. 249

6.2基础框架 ................................................................................................................ 250

6.3 3D坐标系 .............................................................................................................. 252

6.4绘制简单的图形 .................................................................................................... 253

6.5纹理表面 ................................................................................................................ 256

6.6 3D对象的纹理操作 .............................................................................................. 259

6.7光照效果 ................................................................................................................ 263

6.8创建、加载并整合 3D模型.................................................................................. 267

6.8.1 表面 ............................................................................................................. 268

6.8.2 Obj文件创建过程 ...................................................................................... 269

6.9包含纹理的其他 3D模型 ..................................................................................... 277

6.10第一人称视角:设定相机 .................................................................................. 281

6.11 3D飞行游戏 ........................................................................................................ 286

6.11.1游戏概念:飞行 ....................................................................................... 286

6.11.2控制 ........................................................................................................... 286

6.11.3游戏元素 ................................................................................................... 286

6.11.4三维精灵对象 ........................................................................................... 296

6.11.5游戏元素的实现 ....................................................................................... 303

6.11.6控制 ........................................................................................................... 311

6.11.7第一人称视角 ........................................................................................... 312

6.11.8激光 ........................................................................................................... 313

6.11.9碰撞信息 ................................................................................................... 313

6.11.10 其他精灵对象 ......................................................................................... 313

第 7章物理引擎 Box2D .......................................................................................... 318

7.1简介 ........................................................................................................................ 318

7.1.1 物理引擎提供的内容 ................................................................................. 319

7.1.2 初步测试 ..................................................................................................... 319

7.2 Box2D的整合操作 ................................................................................................ 320

7.3 Box2D实践 ............................................................................................................ 322

7.4 Box2D下的精灵对象 ............................................................................................ 328

7.5 Box2D游戏实践 .................................................................................................... 334

7.5.1 横向模式和纵向模式 ................................................................................. 335

7.5.2 新的 Sprite类 .............................................................................................. 337

7.5.3 构建石塔建筑 ............................................................................................. 340

7.5.4 赢取游戏 ..................................................................................................... 345

7.5.5 展望 ............................................................................................................. 347

第 8章 GLKit框架——简化 OpenGL ES应用 ......................................................... 348

8.1简介 ........................................................................................................................ 348

·X· iOS游戏开发——基于 iPad,iPhone和 iPod Touch

8.1.1 利弊关系 ..................................................................................................... 348

8.1.2 概述 ............................................................................................................. 349

8.2示例 ........................................................................................................................ 350

8.3 GLKitView和游戏循环 ........................................................................................ 354

8.4 GLKit和 3D——根据 GLU模型使用相机 ......................................................... 360

第 9章基于 OpenAL的游戏声音 ............................................................................ 362

9.1简介 ........................................................................................................................ 362

9.2封装 OpenAL API .................................................................................................. 363

9.3声音的构成方式 .................................................................................................... 364

9.4创建复音引擎 ........................................................................................................ 366

9.4.1 声音 ID和缓冲区 ....................................................................................... 366

9.4.2 音频上下文 ................................................................................................. 368

9.4.3 加载声音 ..................................................................................................... 369

9.4.4 合成声音 ..................................................................................................... 371

9.4.5 播放声音 ..................................................................................................... 372

第 10章发布游戏 ................................................................................................... 375

10.1 iTunes Connect操作 ............................................................................................ 375

10.2 将游戏植入设备中 .............................................................................................. 375

10.3 发布游戏 .............................................................................................................. 375

10.4 市场规划 .............................................................................................................. 377

前言

具有讽刺意义的是,Microsoft于1997年向处于“危难”之中的Apple投资了1.5亿美元。13年后,Apple的股指增加了不止10倍。同时,Microsoft首次失去了其霸主地位(根据市值),其位置被公司总部位于加利福尼亚州Cupertino的Apple公司所取代。

2007年,Steve Jobs在San Francisco发布了一款具有“革命性”的新型移动电话,并对外宣称其性能领先于竞争对手两年。人们难以想象,野心勃勃的Steve Jobs私下则是一名异常谦和的人士。今天,iPhone,iPod Touch和iPad已变为科技进步的一个符号。

若干年前,移动设备市场呈多态之势,J2ME开发环境包含了1200多种不同的手机设备,如今,这一势态也延续到操作系统上。不久之前,Android采用更为廉价的模块占据了大量的市场份额;而iOS则一直占据着高端产品市场;较新的操作系统,例如Microsoft-Nokia的Windows Phone,同样在不断地争取市场份额。

尽管如此,Apple公司研发的iPhone依然引领着变革之风,并视为业界的创新范例。随着iOS 5/6/7的发布,这无疑是iPhone发布以来最新、最全面的一次升级。最初,新发布的操作系统并不能有效地运行于iOS家族中的全部设备上,随着技术创新的不断深入,开发人员和用户均受益良多。除此之外,在游戏开发领域,GLKit和Game Center Services同样值得关注。

其他厂商也发布了多款性能强大的移动设备,例如Nokia、Samsung、Sony Ericsson和Google。需要说明的是,Apple的优势在于围绕App Store展开的商业模式,而非硬件。截止到目前为止,App Store提供了大量的游戏和应用程序,一举成为业界最大的下载网站。

多年以前,Apple通过iTunes为App Store打下了坚实的基础。通过硬件(MP3播放器)和软件(iTunes)之间的整合,Apple远远领先于其他音乐下载平台。

2008年夏天(即iPhone发布后的1年),iPhone软件开发包使得开发人员可访问iPhone的硬件,这在当时不啻为一场小小的革命。

针对小型应用程序,原生操作系统功能项可实现任意扩展,独特的触摸感应控制系统可带来全新的游戏体验。值的思考的是,这一切并非是Apple所发明,但Apple通过开发与部署行为严格规定了一种交互模式,即使业余开发人员也能从这种数字发布规范中受益。同时,App Store也可使开发者在经济上获得收益。一旦读者全面理解了本书中的示例程序,并实现了小型游戏开发项目中的基本内容,相信这一切将得到极大的回报。

本书在众多人士的共同努力下方得以出版,这里由衷地感谢以下人员:

感谢Fernando Schneider,正是他激励我编写一部与iPhone游戏相关的书籍。

感谢Holger Patz,他为本书中的游戏增添了极大的色彩,特别是3D游戏Spaceflight、像素僵尸对象,以及基于OpenGL ES的2D全视角射击游戏(Holger创建了大多数图形内容,而我则负责游戏图形的成功运行)。

Janina Sieslack仔细审读了本书的首稿,在这里也感谢她的辛勤劳动。

本人于2008年购入了MacBook,此处感谢Markus Maaen和Juan Pao对Apple产品的热情推荐。

除此之外,还要鸣谢AK Peters出版团队。感谢Rick Adams,正是在他的成功运作下,本书方得以最终面世。感谢David Kramer对本书所做的精彩演绎。另外,Jrg Büttner、Sandra Gottmann、Bernd Hein、Patrick Hennies、Alexander Hüsgen、SaschaKolewa、Marco Kraus、Anita Nagy、Julia Stepp、SzymonUlewicz以及Marcus Weidl也对本书内容进行了必要的补充,在这里一并表示感谢。最后,我还想感谢我的母亲,谢谢她的理解,并允许我在花园中进行写作。

同时,希望读者享受阅读本书的过程,并成功地在App Store中发布属于自己的第一款游戏。当阅读本书时,读者已迈出了开发历程中坚实的一步,祝编程愉快!

Thomas Lucka

热门图书
推荐新闻
技术文库
论坛推荐