第1章 第一款简单游戏 1
1.1 在Xcode中创建项目:Sample 1 2
1.2 自定义项目 4
1.2.1 通过布置Xcodc视图使工作变得更轻松 4
1.2.2 添加新视图 5
1.2.3 简单导航 6
1.2.4 添加石头、剪刀、布视图 6
1.2.5 自定义UIView 7
1.3 小结 8
第2章 设置游戏项目 9
2.1 创建游戏项目 10
2.2 自定义通用应用程序 13
2.3 理解UIViewController 16
2.4 图形化设计通用应用程序的UI 21
2.4.1 初识Interface Builder 22
2.4.2 向XIB文件添加UI元素 24
2.4.3 响应方向变化 28
2.5 小结 30
第3章 游戏应用程序的生命周期 31
3.1 解读游戏中的视图 31
3.2 解读项目的结构 35
3.2.1 配置应用程序为多视图应用 36
3.2.2 更改视图以响应用户操作 39
3.2.3 使用委托传递应用程序状态 43
3.2.4 HighscoreController:一个简单的可复用组件 45
3.3 保存游戏状态 52
3.3.1 存档和解档游戏状态 53
3.3.2 实现生命周期任务 54
3.4 小结 56
第4章 快速创建一个输入驱动的游戏 57
4.1 探讨获取屏幕内容的方式 58
4.1.1 解读UIView 58
4.1.2 Core Graphics类型定义 59
4.1.3 使用Core Graphics类型 61
4.2 解读动画 61
4.3 建立硬币分拣游戏 65
4.3.1 实现游戏状态 66
4.3.2 初始化和设置 68
4.3.3 开始新游戏 69
4.3.4 继续游戏 70
4.3.5 初始化每枚硬币的UIView 70
4.3.6 模型 72
4.3.7 处理用户输入 76
4.4 使用Core Animation实现视图动画 79
4.5 小结 84
第5章 快速建立一个逐帧游戏 85
5.1 设置第一个逐帧动画 86
5.2 简单移动 87
5.2.1 实现类 88
5.2.2 移动太空飞船 89
5.3 解读CADisplayLink和NSRunLoop 92
5.4 抽象UI 93
5.4.1 解读主角 95
5.4.2 在屏幕绘制主角 101
5.5 主角状态和动画 108
5.5.1 翻滚效果 108
5.5.2 旋转效果 111
5.6 小结 115
第6章 创建角色:游戏引擎、图像主角和行为 117
6.1 解读游戏引擎类 117
6.1.1 GameController类 118
6.1.2 设置GameController 119
6.1.3 Actor类 124
6.1.4 实现Actor 126
6.2 建立能量块主角 128
6.2.1 实现能量块主角 129
6.2.2 ImageRepresentation详解 132
6.2.3 通过示例解读行为 139
6.3 小结 143
第7章 构建游戏:矢量主角与粒子系统 145
7.1 飞碟、子弹、护盾和血条 145
7.2 通过VectorRepresentation使用Core Graphics绘制主角 152
7.2.1 VectorRepresentation类 152
7.2.2 基于矢量主角的UIView:VectorActorView 154
7.2.3 绘制血条 155
7.2.4 绘制子弹 156
7.3 在游戏中添加粒子效果 158
7.3.1 简单的粒子系统 160
7.3.2 创建基于矢量的粒子 165
7.4 小结 169
第8章 构建游戏:解读手势和运动 171
8.1 触摸输入:基础知识 171
8.1.1 扩展UIView来接收触摸事件 172
8.1.2 查看事件代码 173
8.1.3 为主角应用手势识别器 175
8.2 解读手势识别器 177
8.2.1 点按手势 178
8.2.2 捏合手势 183
8.2.3 平移(拖动)手势 186
8.2.4 旋转手势 190
8.2.5 长按手势 192
8.3 轻扫手势 196
8.4 解读设备运动 198
8.4.1 响应运动事件(晃动) 199
8.4.2 响应加速计数据 201
8.5 小结 204
第9章 游戏中心和社交化媒体 205
9.1 游戏中心 205
9.1.1 在iTunes Connect中启用游戏中心 207
9.1.2 在游戏中使用游戏中心 210
9.1.3 向排行榜提交分数 212
9.1.4 授予成就 214
9.2 集成Twitter 216
9.3 集成Facebook 217
9.3.1 创建Facebook应用程序 218
9.3.2 Facebook身份验证 219
9.3.3 发帖至Facebook 220
9.4 小结 222
第10章 通过苹果应用程序商店赚钱 223
10.1 应用内购买 223
10.2 购买类型概述 224
10.2.1 非消耗品 224
10.2.2 消耗品 224
10.2.3 免费订阅 225
10.2.4 自动续费订阅 225
10.2.5 非续费订阅 225
10.3 准备应用内购买 225
10.3.1 启用和创建应用内购买 225
10.3.2 创建测试用户 227
10.4 应用内购买的类和流程 228
10.5 实现应用内购买 230
10.6 根据购买情况驱动用户界面 232
10.7 发起购买 234
10.8 响应成功购买 235
10.9 小结 236
第11章 为游戏添加声音 237
11.1 如何播放声音 237
11.2 正确的音频行为 238
11.2.1 用户在需要时将设备切换至静音模式 238
11.2.2 你的游戏不是唯一播放声音的应用程序 238
11.2.3 你的游戏不是唯一的应用程序 239
11.3 在游戏中实现声音 239
11.3.1 设置音频 239
11.3.2 响应其他音频变化 240
11.4 游戏中的音频 242
11.4.1 设置GameController 242
11.4.2 游戏中事件的音效 245
11.4.3 由主角驱动音频 248
11.5 小结 249
第12章 完整游戏:Belt Commander 251
12.1 Belt Commander:游戏要点总览 251
12.1.1 实现视图间导航 255
12.1.2 启动应用程序 255
12.1.3 XIB文件 256
12.1.4 视图导航 258
12.2 实现游戏 260
12.2.1 游戏类 261
12.2.2 解读BeltCommander-Controller 264
12.2.3 BeltCommanderController游戏动画 268
12.3 小结 280
第13章 物理仿真! 281
13.1 物理仿真示例概述 281
13.2 Box2D概述 282
13.2.1 世界 283
13.2.2 刚体 283
13.2.3 夹具 285
13.3 将Box2D添加至Xcode项目 285
13.4 解读示例 288
13.4.1 扩展GameController 288
13.4.2 物理仿真主角 291
13.4.3 扩展物理仿真主角 292
13.4.4 清理工作 293
13.5 小结 294
附录A设计和创建图形 295