图书介绍
iPhone游戏开发入门经典 也适用于iPadPDF|Epub|txt|kindle电子书版本网盘下载
- (美)巴哈雷夫,(美)卡布雷拉著 著
- 出版社: 北京:清华大学出版社
- ISBN:9787302254492
- 出版时间:2011
- 标注页数:578页
- 文件大小:134MB
- 文件页数:593页
- 主题词:移动电话机-游戏-程序设计
PDF下载
下载说明
iPhone游戏开发入门经典 也适用于iPadPDF格式电子书版下载
下载的文件为RAR压缩包。需要使用解压软件进行解压得到PDF格式图书。建议使用BT下载工具Free Download Manager进行下载,简称FDM(免费,没有广告,支持多平台)。本站资源全部打包为BT种子。所以需要使用专业的BT下载软件进行下载。如BitComet qBittorrent uTorrent等BT下载工具。迅雷目前由于本站不是热门资源。不推荐使用!后期资源热门了。安装了迅雷也可以迅雷进行下载!
(文件页数 要大于 标注页数,上中下等多册电子书除外)
注意:本站所有压缩包均有解压码: 点击下载压缩包解压工具
图书目录
第1章 革命性的游戏平台:随时随地,人人都可以游戏1
1.1 无处不在的iPhone1
1.2 iPhone的广泛吸引力——每时每刻都在诞生新的玩家2
1.3 iPhone的用户界面——手柄终结者3
1.4 iPhone的连接性——和其他玩家一起玩4
1.5 iPhone中的用户数据——个性化体验5
1.6 iPhone设备的性能——强大的多媒体没备6
1.7 iPhone的开发包——人人皆可拥有7
1.8 创新——来自小开发商的大创意8
1.9 本章小结9
第2章 iPhone游戏开发:iPhone工具箱一览11
2.1 开发工具和开发环境11
2.2 UIKit12
2.3 Quartz 2D和Core Animation13
2.4 OpenGL ES13
2.5 音频API14
2.6 网络15
2.7 本章小结16
第3章 在小屏幕上移动图像——使用UIKit控件17
3.1 Cocoa Touch简介17
3.1.1 Objective-C语言18
3.1.2 Cocoa Touch和UIKit框架25
3.2 构建一款简单的游戏27
3.2.1 创建一个Xcode项目27
3.2.2 创建IVBricker用户界面29
3.2.3 华丽的图像才够格34
3.2.4 完成了吗57
3.3 应用程序委托事件57
3.3.1 应用程序终止58
3.3.2 应用程序中断58
3.3.3 低内存警告59
3.4 保存和加载游戏状态59
3.5 动画图像63
3.5.1 使用UIImageView的动画属性63
3.5.2 通过NSTimer实现动画64
3.5.3 通过CADisplayLink实现动画66
3.6 本章小结68
第4章 射击、命中与得分71
4.1 Quartz 2D游戏概述71
4.2 所有的艺术家都需要画布73
4.3 用Quartz 2D创建第一个图形79
4.3.1 保存和还原上下文80
4.3.2 添加颜色82
4.4 Sprites83
4.4.1 创建Sprite类83
4.4.2 使用Sprite类89
4.5 哪一面朝上91
4.5.1 切换到水平方向91
4.5.2 将原点居中93
4.6 矢量图94
4.6.1 创建VectorSprite类94
4.6.2 使用VectorSprite类97
4.7 翻页动画100
4.7.1 创建AtlasSprite类101
4.7.2 修改Sprite类105
4.7.3 使用AtlasSprite类107
4.8 抬头显示110
4.8.1 创建TextSprite类111
4.8.2 使用TextSprite类116
4.9 Asteroids游戏架构117
4.9.1 Asteroids游戏循环117
4.9.2 Asteroids模型118
4.9.3 Asteroids视图120
4.9.4 Asteroids游戏控制器121
4.10 本章小结123
第5章 通过CoreAnimation实现动画效果125
5.1 Core Animation示例项目概述125
5.2 UIView的动画127
5.2.1 简单移动130
5.2.2 动画曲线131
5.2.3 反向和重复132
5.2.4 延时、缓入和缓出134
5.2.5 UIView变换135
5.2.6 UIView过渡137
5.3 连续变化的Core Animation层139
5.3.1 隐式动画140
5.3.2 定时函数140
5.3.3 层动画过渡141
5.4 本章小结145
第6章 OpenGL基础:理解OpenGL API147
6.1 什么是OpenGL ES和为什么要使用OpenGL ES147
6.2 理解3D世界148
6.3 矩阵的基本概念149
6.3.1 综合平移、旋转和缩放151
6.3.2 矩阵类型151
6.3.3 有状态的API152
6.4 渲染的基本概念153
6.5 基本游戏模板154
6.6 将CAEAGLLayer包装在EAGLView视图中155
6.6.1 第一步:初始化方法155
6.6.2 帧缓冲区、渲染缓冲区和深度缓冲158
6.6.3 进入OpenGL的世界160
6.6.4 绘制和渲染164
6.7 如何通过0penGL绘制物体165
6.7.1 场景对象和网格对象165
6.7.2 压入和弹出矩阵168
6.7.3 在场景中放置对象169
6.7.4 在3D空间中定义对象171
6.8 游戏循环和定时器174
6.9 输入控制器178
6.10 应用程序委托179
6.11 本章小结180
第7章 综合所学知识:创建一款OpenGL游戏181
7.1 游戏设计——Space Rocks!181
7.2 以模板为基础开始进行游戏设计183
7.3 屏幕翻转184
7.4 升级为3D点186
7.5 添加按钮188
7.5.1 创建按钮对象189
7.5.2 使用顶点数据190
7.5.3 存储按钮192
7.5.4 触摸检测194
7.5.5 连接按钮199
7.6 构建更好的宇宙飞船200
7.6.1 移动起来200
7.6.2 添加宇宙飞船201
7.6.3 添加和删除场景对象203
7.6.4 飞出屏幕边缘205
7.7 Space Rocks!206
7.8 添加导弹209
7.8.1 发射导弹210
7 8.2 删除不需要的导弹211
7.9 制作更好看的按钮212
7.10 碰撞检测214
7.10.1 什么是碰撞214
7.10.2 检测碰撞的技术214
7.11 碰撞石块218
7.11.1 质心和半径218
7.11.2 碰撞对象和被碰撞对象220
7.11.3 再论碰撞检测230
7.12 本章小结232
第8章 图册、Sprite和粒子系统233
8.1 纹理和纹理图册233
8.1.1 什么是纹理,为什么要使用纹理234
8.1.2 将图像数据载入OpenGL234
8.1.3 绑定纹理238
8.1.4 使用Uv坐标239
8.1.5 获得纹理贴图的四边形240
8.1.6 认识纹理图册241
8.1.7 推陈出新245
8.1.8 更好的用户界面246
8.1.9 带有纹理的颜色248
8.2 Sprite动画249
8.2.1 与帧率无关的设计251
8.2.2 其他动画255
8.3 从2D迈向3D256
8.3.1 多了一个维度意味着什么256
8.3.2 3D模型从何而来257
8.3.3 从建模工具到屏幕显示258
8.3.4 什么是法线258
8.3.5 标准化为GL_TRIANGLES259
8.3.6 纹理加上模型260
8.3.7 影子展示出形状261
8.3.8 深度缓冲区和背面剔除264
8.3.9 碰撞检测的改进266
8.4 粒子系统给游戏带来了生机267
8.4.1 什么是粒子系统267
8.4.2 大量随机数268
8.4.3 粒子系统的根本:粒子268
8.4.4 粒子发射器269
8.4.5 系统调整276
8.4.6 其他对象的粒子系统277
8.4.7 What the Future Holds:Shaders278
8.5 本章小结278
第9章 核心音频简介279
9.1 核心音频提供的音频服务279
9.1.1 音频单元280
9.1.2 音频文件服务280
9.1.3 音频文件流式服务280
9.1.4 音频转换服务280
9.1.5 扩展的音频文件服务281
9.1.6 音频会话服务281
9.1.7 系统声音服务281
9.1.8 音频队列服务281
9.1.9 AVFoundation281
9.1.10 OpenAL282
9.2 核心音频框架283
9.3 编解码器和文件格式284
9.3.1 核心音频所支持的编解码器284
9.3.2 核心音频支持的文件格式285
9.3.3 通过afconvert转换格式286
9.3.4 硬件加速的编解码器:受限和非受限的编解码器组286
9.3.5 有关编解码器和文件格式的建议287
9.4 警告和振动:系统声音服务介绍288
9.4.1 不使用系统声音服务作为通用音效的情形289
9.4.2 系统声音服务示例290
9.4.3 关于片步播放的注意事项295
9.5 设置音频策略:音频会话服务介绍296
9.5.1 使用音频会话服务的样本代码和过程297
9.5.2 检测硬件并狭得属性299
9.6 通过AVFoundation利用Objective-C轻松播放音频300
9.7 本章小结310
第10章 通过OpenAL发出声音311
10.1 OpenAL概述311
10.1.1 OpenAL支持的特性311
10.1.2 OpenAL简史312
10.2 Eric Wing的故事和音频涵盖的内容315
10.3 内容指引316
10.4 在OpenAL中设置基本声音316
10.4.1 设置音频会话318
10.4.2 打开设备318
10.4.3 创建上下文321
10.4.4 激活上下文322
10.4.5 生成声音源322
10.4.6 生成数据缓冲区323
10.4.7 从文件中加载声音数据323
10.4.8 将声音数据提交至OpenAL数据缓冲区327
10.4.9 将数据缓冲区关联至声音源329
10.4.10 播放声音329
10.4.11 关闭并清理329
10.5 更多问题和细节补充331
10.5.1 添加更多的声音332
10.5.2 需要注意的问题336
10 5.3 OpenAL错误检查336
10.5.4 音频会话中断338
10.5.5 iOS的OpenAL扩展341
10.5.6 性能说明341
10.5.7 OpenAL声音源的限制342
10.6 声音资源管理器:修复设计344
10.6.1 资源管理器概述345
10.6.2 初步清理346
10.6.3 声音文件数据库(缓存系统)352
10.6.4 OpenAL声音源管理(预留和回收)356
10.6.5 与Space Rocks!游戏的集成360
10.6.6 处理所有可用的声音源都耗尽的情况370
10.6.7 最后的润色371
10.7 本章小结373
第11章 3D音频——将声音变为游戏声音375
11.1 OpenAL的设计:声音源、缓冲区和听者375
11.2 OpenAL中3D音频的局限性377
11.3 将听者整合进Space Rocks!游戏378
11.3.1 创建听者类378
11.3.2 挑选听者379
11.4 在声音中添加位置380
11.4.1 处理创建时的初始位置382
11.4.2 禁用距离衰减383
11.5 听者朝向384
11.5.1 右手坐标系统和右手定则385
11.5.2 单位圆、极坐标转换直角坐标、相位平移和三角恒等式386
11.5.3 集成至Space Rocks!游戏388
11.6 声音源方向和圆锥389
11.6.1 内圆锥、外圆锥和过渡区390
11.6.2 实现391
11.7 速度和多普勒效应392
11.7.1 速度和缩放因子393
11.7.2 多普勒效应示例394
11.8 距离衰减396
11.8.1 衰减模型396
11.8.2 回到Space Rocks!游戏401
11.9 使用相对声音属性选择性的禁用3D效果404
11.10 本章小结406
第12章 流式媒体409
12.1 音乐与其他音频409
12.2 iPod音乐库(Media Player框架)411
12.2.1 在Space Rocks!游戏中播放iPod音乐413
12.2.2 添加媒体项选择器415
12.2.3 摇晃(简易的加速度传感器摇晃检测)417
12.3 音频流式处理418
12.3.1 基于AVFoundation的Space Rocks!游戏背景音乐419
12.3.2 OpenAL缓冲区队列介绍424
12.3.3 基于OpenAL的SpaceRocks!游戏背景音乐432
12.3.4 Space Rocks!游戏的OpenAL语音445
12.3.5 基于音频队列服务的SpaceRocks!游戏背景音乐454
12.3.6 完美的全连456
12.4 音频捕捉456
12.4.1 音频捕捉API457
12.4.2 AVFoundation:使用AVAudioRecorder录制到文件458
12.4.3 OpenAL:捕捉示波器463
12.5 回到OpenGL468
12.5.1 顶点缓冲区对象469
12.5.2 有关OpenGL和OpenAL优化的注意470
12.6 本章小结471
第13章 iPhone游戏联网简介473
13.1 了解网络473
13.1.1 网络接口473
13.1.2 TCP/IP474
13.1.3 Bonjour475
13.2 iPhone SDK和联网475
13.2.1 套接字和连接475
13.2.2 BSD套接字 API476
13.2.3 CFNetwork476
13.2.4 NSNetServices476
13.2.5 GameKit476
13.3 本章小结477
第14章 对战游戏479
14.1 见识Pong479
14.2 使用Peer选择器寻找一个人类对手480
14.2.1 运行界面484
14.2.2 工作原理487
14.3 建立连接487
14.4 发送和接收消息491
14.4.1 投掷骰子492
14.4.2 准备好,继续500
14.4.3 击球和失球501
14.4.4 让板子活跃起来510
14.5 游戏结束:处理断开连接515
14.6 本章小结516
第15章 多人游戏517
15.1 8乘以3等于几517
15.1.1 起始点517
15.1.2 目标519
15.1.3 结构519
15.2 创建连接521
15.2.1 连接对象和流对象的简介521
15.2.2 连接初始化522
15.2.3 关闭和清理524
15.2.4 读取数据524
15.2.5 写入数据527
15.2.6 处理流事件528
15.2.7 完整画面529
15.3 套接字服务器529
15.3.1 SocketServer类530
15.3.2 套接字服务器初始化531
15.3.3 通过Bonjour发布服务534
15.3.4 开始和停止534
15.4 通过Bonjour查找服务536
15.4.1 查找服务器536
15.4.2 连接至服务器538
15.4.3 最后的细节540
15.5 实现游戏客户端544
15.5.1 跟踪逻辑544
15.5.2 选择网络消息的格式546
15.5.3 实现通信548
15.5.4 整合起来551
15.6 实现游戏服务器552
15.6.1 管理玩家552
15.6.2 代码整合555
15.6.3 初始化561
15.6.4 玩家加入和离开561
15.6.5 开始和结束游戏回合563
15.6.6 收集和处理答案565
15.6.7 整合起来566
15.7 本章小结566
第16章 连接Internet567
16.1 挑战567
16.1.1 不能使用Bonjour567
16.1.2 不能通过GameKit实现点到点的游戏568
16.1.3 服务器中断568
16.1.4 滞后568
16.1.5 数据格式问题569
16.1.6 其他问题569
16.2 在线游戏基础知识570
16.2.1 客户端服务器游戏570
16.2.2 不通过Bonjour连接到游戏服务器571
16.2.3 点到点的游戏571
16.2.4 有关重新开发572
16.2.5 沧海一粟573
16.3 引入社交元素573
16.3.1 在线共享最高得分573
16.3.2 虚拟追击574
16.3.3 聊天575
16.4 本章小结575
第17章 整合一切,享受乐趣577
17.1 本书涵盖的内容577
17.2 一些游戏设计的技巧578
17.3 本章小结578