iOS Swift游戏开发经典实例(第二版)想创建精彩的 iPhone、iPad和 iPod touch 游戏吗?应用苹果公司专有的编程语言 Swift,这是再容易不过的事情了。这本升级版的 经典案例 书针对各种iOS游戏开发中的常见问题,提出了详细的解决方案:从各种 2D/3D 数学到 Sprite Kit,从 OpenGL 到游戏的性能,全都为 Swift 而准备。的主要内容有:游戏架构设计和代码结构。用UIKit创建和定制菜单。检测和响应用户输入。播放音效和音乐。存储数据。用Sprite Kit绘制2D图形。用Scenen Kit绘制3D图形。加入2D物理模拟。3D 图形入门、进阶和高级。人工智能。游戏控制器和外接显示。

目录

知识兔

前言.1
第1章 游戏的设计9
1.1 设计游戏引擎 9
1.2 创建基于继承的设计10
1.3 创建基于组件的设计12
1.4 计算屏幕的帧刷新时间 14
1.5 进入和退出游戏 16
1.6 用定时器进行游戏的刷新18
1.7 每帧刷新18
1.8 游戏暂停20
1.9 记录游戏时间 20
1.10 应用闭包21
1.11 在方法中回调闭包 23
1.12 应用 Operation Queues24
1.13 延迟执行26
1.14 串行执行27
1.15 通过闭包进行数组的过滤28
1.16 加载游戏资源 28
1.17 在游戏中应用单元测试 29
1.18 二维表格32
第2章 视图和菜单 35
2.1 应用故事板35
2.2 创建视图控制器 41
2.3 通过Segue导航到不同屏幕.48
2.4 应用布局约束进行布局 52
2.5 将图片导入到项目中54
2.6 切割按钮的背景图片56
2.7 用UIDynamics创建运动视图57
2.8 用Core Animation移动图片 59
2.9 旋转图片61
2.10 在视图上实现弹起效果 62
2.11 用UIAppearance定制UI元素64
2.12 对UIView进行3D旋转 65
2.13 将游戏菜单覆盖在游戏内容之上 67
2.14 创建高效的游戏菜单68
第3章 输入 69
3.1 侦测触摸69
3.2 处理轻触手势 71
3.3 在屏幕上拖动图片72
3.4 识别旋转手势 74
3.5 识别捏合手势 76
3.6 自定义手势78
3.7 在视图的指定区域识别触摸82
3.8 识别摇晃手势 83
3.9 识别设备倾斜手势84
3.10 获得罗盘方向 87
3.11 获得用户的位置88
3.12 计算运动速度 91
3.13 计算用户与目标的距离 92
3.14 当用户进入或离开某个位置时获得通知93
3.15 通过地名获得坐标96
3.16 通过坐标获得地名98
3.17 将设备当作方向盘99
3.18 测量磁场 100
3.19 利用输入改善游戏设计 101
第4章 声音 103
4.1 用AVAudioPlayer播放声音 103
4.2 用AVAudioRecorder进行录音. 106
4.3 应用多个AVAudioPlayer108
4.4 两个声音间的淡入淡出 109
4.5 合成语音 112
4.6 获知音乐程序当前播放曲目 113
4.7 当前曲目何时改变 115
4.8 音乐回放控制 116
4.9 让用户选择音乐 117
4.10 当其他App正在播放音乐时怎么办? 119
4.11 在游戏中应用哪一种播放模式最好. 121
第5章 存储数据 123
5.1 保存游戏状态 123
5.2 在本地保存游戏得分 126
5.3 用iCloud保存游戏进度 127
5.4 应用iCloud的键-值存储. 132
5.5 加载结构化数据 133
5.6 什么时候应用文件, 什么时候应用数据库 135
5.7 管理资源集合 136
5.8 用NSUserDefaults存放数据. 138
5.9 最佳数据存储策略 140
5.10 游戏中的财富值. 141
第6章 2D图形和Sprite Kit 143
6.1 熟悉二维数学 143
6.2 创建Sprite Kit视图 149
6.3 创建场景 150
6.4 加入精灵 152
6.5 文本精灵 153
6.6 获取有效字体 155
6.7 应用自定义字体 156
6.8 场景切换 156
6.9 移动精灵和标签 158
6.10 纹理贴图精灵 161
6.11 纹理图集 161
6.12 形状节点 162
6.13 混合模式 163
6.14 对精灵应用滤镜. 165
6.15 贝塞尔曲线 166
6.16 烟雾、 火焰和粒子特效 167
6.17 抖动屏幕 168
6.18 动画精灵 170
6.19 视差滚动 171
6.20 杂点图 176
第7章 物理引擎 179
7.1 物理引擎的相关术语和定义 179
7.2 在精灵中添加物理引擎 181
7.3 静止物体和运动物体 182
7.4 碰撞体形状 183
7.5 速度 185
7.6 质量、 大小和密度 185
7.7 墙壁 187
7.8 设置重力 188
7.9 让物体无法旋转 189
7.10 改变物理模拟时钟的速度. 189
7.11 碰撞检测 190
7.12 查找物体 191
7.13 连接 193
7.14 作用力 194
7.15 在物体上添加推进器 195
7.16 制造爆炸 196
7.17 根据设备方向改变重力 198
7.18 拖动物体 199
7.19 车辆 202
第8章 3D图形. 205
8.1 应用3D数学 206
8.2 创建GLKit上下文 209
8.3 用OpenGL绘制四边形 212
8.4 贴图 219
8.5 绘制立方体 221
8.6 旋转立方体 224
8.7 在三维空间中移动镜头 225
第9章 3D图形进阶 227
9.1 加载网格 227
9.2 父子对象 234
9.3 网格动画 238
9.4 批量绘制 241
9.5 创建可移动的镜头 242
第10章 高级3D图形 245
10.1 着色器 245
10.2 材质 249
10.3 用着色器进行贴图 255
10.4 给场景打上灯光. 256
10.5 法向贴图 258
10.6 透明对象 260
10.7 添加镜面高光 262
10.8 卡通着色 264
第11章 Scene Kit 266
11.1 应用Scene Kit 266
11.2 创建一个Scene Kit 场景 267
11.3 显示3D对象 267
11.4 在Scene Kit中应用镜头 268
11.5 创建灯光. 269
11.6 动画 270
11.7 应用文本节点 271
11.8 自定义材质 272
11.9 纹理对象. 273
11.10 法向贴图 273
11.11 约束对象 274
11.12 加载3D模型文件. 275
11.13 3D物理学 276
11.14 加入地板 277
11.15 点击测试 277
第12章 人工智能和行为 279
12.1 应用向量数学 279
12.2 让对象朝某个点移动 281
12.3 跟随路径. 283
12.4 拦截运动物体 284
12.5 逃逸 285
12.6 目标选择问题 286
12.7 转向问题. 287
12.8 隐蔽点问题 288
12.9 路径问题. 289
12.10 计算下一步问题 293
12.11 判断对象能否“ 看见” 其他对象 294
12.12 用人工智能增强游戏设计 296
第13章 网络及社交媒体 298
13.1 游戏中心. 298
13.2 获取用户登录信息. 304
13.3 获取别的玩家信息. 305
13.4 创建排行榜和向好友挑战 305
13.5 和其他玩家一起玩游戏 309
13.6 创建、 销毁、 同步网络对象 311
13.7 对象状态插值 313
13.8 玩家断开和重连 314
13.9 用Game Kit制作回合制游戏.315
13.10 将文字和图片分享到社交网络 319
13.11 将游戏保存到游戏中心 320
13.12 充分利用iOS网络 321
13.13 充分利用社交网络 322
第14章 游戏控制器和外接屏幕 323
14.1 检测控制器 325
14.2 从游戏控制器中获得输入. 327
14.3 通过AirPlay显示游戏内容 328
14.4 应用扩展屏幕 329
14.5 如何为不同的屏幕设计UI 331
14.6 拖放 334
第15章 性能和调试 340
15.1 改善帧刷新率 340
15.2 快速加载关卡 342
15.3 解决内存不足问题 344
15.4 查找崩溃原因 345
15.5 应用纹理压缩 346
15.6 应用监视点 349
15.7 记录日志351
15.8 创建语音断点 352

下载体验

请输入密码查看内容!

如何获取密码?

 

点击下载