第1章 iPhone简介 1
1.1 Apple开发者账号及SDK的下载 1
1.1.1 Application Bundles 2
1.1.2 Xcode与Interface Builder 4
1.1.3 视图与控制器 12
1.2 加载设备 19
1.2.1 证书与档案文件 20
1.2.2 Xcode配置 21
1.3 Objective-C入门 24
1.3.1 类 24
1.3.2 实例化 28
1.3.3 消息 28
1.3.4 成员变量 29
1.3.5 内存管理 30
1.3.6 构造函数与析构函数 30
1.3.7 集成Interface Builder 31
1.3.8 混合C++与Objective-C 31
1.4 小结 31
第2章 游戏引擎揭秘 32
2.1 应用框架 33
2.2 游戏状态管理器 34
2.3 图形引擎 38
2.3.1 纹理 38
2.3.2 动画 42
2.3.3 物理引擎 46
2.3.4 音频引擎 51
2.3.5 玩家输入 53
2.3.6 游戏逻辑 55
2.4 小结 62
第3章 框架 63
3.1 游戏状态管理 64
3.1.1 实现 65
3.1.2 移除状态栏 67
3.2 App Delegate 67
3.3 事件处理 70
3.4 资源管理器 71
3.4.1 纹理格式 72
3.4.2 声音格式 72
3.4.3 部署资源 72
3.4.4 管理 72
3.5 渲染引擎 73
3.5.1 GLESGameState 74
3.5.2 纹理 75
3.5.3 字体纹理 76
3.5.4 示例状态 78
3.6 声音引擎 80
3.7 数据存储 82
3.7.1 存储简单数据 82
3.7.2 存储复杂数据 83
3.7.3 示例状态 83
3.8 骨架应用 86
3.9 小结 87
第4章 2D游戏引擎 88
4.1 游戏设计 88
4.1.1 特性列表 89
4.1.2 用户输入模式 90
4.1.3 学习曲线 91
4.2 区块引擎 93
4.2.1 不重复的区块 93
4.2.2 绘制区块 94
4.2.3 TileWorld类 96
4.3 动画 100
4.4 物理 111
4.4.1 实体 111
4.4.2 实体与外界 112
4.4.3 特殊区块 116
4.4.4 实体与实体 116
4.5 层级1实现 117
4.5.1 gsEmuLevel 117
4.5.2 TileWorld 118
4.5.3 主角色 118
4.5.4 鸸鹋 121
4.5.5 鸸鹋妈妈 127
4.5.6 游戏逻辑 129
4.5.7 声音 130
4.6 层级2实现 130
4.6.1 gsLionLevel 131
4.6.2 TileWorld 131
4.6.3 麦格芬 133
4.6.4 主角色 133
4.6.5 Lion实体 134
4.6.6 游戏逻辑 141
4.6.7 声音 141
4.7 层级3实现 142
4.7.1 gsMazeLevel 142
4.7.2 TileWotld 143
4.7.3 按钮 145
4.7.4 门 146
4.7.5 猫与老鼠 146
4.7.6 用户输入 146
4.7.7 游戏逻辑 147
4.7.8 声音 153
4.8 层级4实现 154
4.8.1 gsRiverLevel 154
4.8.2 TileWorld 154
4.8.3 Crocodiles 157
4.8.4 Logs 158
4.8.5 Tom 158
4.8.6 用户输入 161
4.8.7 游戏逻辑 161
4.8.8 声音 164
4.9 游戏状态序列化 165
4.9.1 初始化存储 165
4.9.2 结束游戏 165
4.9.3 修改UI 169
4.10 小结 169
第5章 3D游戏 170
5.1 GLESGameState3D类 171
5.1.1 POWERVR 173
5.1.2 Sprite3D 174
5.1.3 加速计 174
5.2 3D游戏设计 176
5.2.1 图形 176
5.2.2 输入 178
5.2.3 相机 178
5.2.4 逻辑 178
5.3 实现 179
5.3.1 相机 180
5.3.2 输入 185
5.3.3 铁圈 192
5.3.4 粒子系统 197
5.3.5 逻辑 205
5.3.6 最棒时间 207
5.3.7 结束游戏 209
5.4 小结 211
第6章 关于游戏设计的一些考量 212
6.1 资源管理 212
6.2 用户输入设计 213
6.3 网络 213
6.4 第三方代码 214
6.4.1 程序库 214
6.4.2 中间件 214
6.4.3 开源游戏 215
6.5 App Store 215
6.6 小结 216
附录 参考 217