
作者:(美)ThomasLucka著,沈旻
页数:377
出版社:清华大学出版社
出版日期:2015
ISBN:9787302385882
电子书格式:pdf/epub/txt
内容简介
本系列图书由浅入深,以更为专业的视角向读者提供图形图像处理、虚拟环境、游戏开发的程序设计知识!每一本书通过一个具有深度的话题向读者呈现业界开发技术!
《游戏引擎设计:实时计算机图形学的应用方法(第2版)》
《实时阴影技术》
《iphone游戏开发》
《游戏物理引擎开发》
《光线跟踪算法技术》
《iphone三维程序设计 基于opengl es的图形应用程序设计》
《ios游戏开发——基于ipad,iphone和ipad touch》
《计算机动画设计指南——运动捕捉、角色特征、点图及maya winning技术》
《计算机动画算法与技术(第2版)》
《图形着色器——理论与实践(第2版)》
《实时碰撞检测算法技术》
本书特色
本书详细阐述了与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 iosdevcenter………………………………………………………………………………………………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和 ipodtouch
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和 gamecenter的多玩家游戏……………………………………… 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和 ipodtouch
4.3.4 积分榜……………………………………………………………………………………………157
4.3.5 将 gchelper整合应用程序中…………………………………………………………. 159
4.4多玩家游戏 ………………………………………………………………………………………………160
第 5章 opengl es开发…………………………………………………………………………….164
5.1为何使用 opengles………………………………………………………………………………..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和 ipodtouch
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















