对本书的赞誉
译者序
前言
第1章 游戏设计1
1.1 游戏的开始2
1.2 主导思想3
1.2.1 适合iPhone的游戏3
1.2.2 故事情节4
1.2.3 名字的内涵4
1.2.4 游戏的目标5
1.3 游戏的元素5
1.3.1 时间6
1.3.2 生命6
1.3.3 健康值6
1.3.4 物品7
1.3.5 羊皮碎片7
1.3.6 门8
1.3.7 武器8
1.3.8 实体8
1.3.9 玩家9
1.4 小结9
第2章 术语、技术和工具10
2.1 术语10
2.1.1 精灵11
2.1.2 精灵表12
2.1.3 动画14
2.1.4 点阵字15
2.1.5 贴图地图16
2.1.6 粒子系统16
2.2 碰撞检测18
2.2.1 人工智能18
2.2.2 游戏循环19
2.3 技术21
2.3.1 Objective-C21
2.3.2 Cocoa Touch21
2.3.3 OpenGL ES22
2.3.4 OpenAL24
2.4 工具25
2.5 小结30
第3章 开始探索旅程32
3.1 在Xcode中创建项目32
3.2 程序的运行34
3.3 准备就绪34
3.4 程序代理35
3.4.1 查看头文件36
3.4.2 查看实现文件37
3.5 EAGLView40
3.5.1 EAGLView.h40
3.5.2 EAGLView.m41
3.6 ES1Renderer48
3.6.1 审查ES1Renderer.h48
3.6.2 查看ES1Renderer.m49
3.6.3 创建帧缓冲区和渲染缓冲区50
3.6.4 render方法52
3.6.5 定义颜色值54
3.6.6 定位55
3.7 OpenGL的工作原理56
3.7.1 对模型应用变换56
3.7.2 在屏幕上渲染57
3.8 小结59
第4章 游戏循环61
4.1 时间控制就是一切61
4.2 冲突检测62
4.3 游戏循环62
4.3.1 基于帧的循环体63
4.3.2 基于时间的固定间隔循环体64
4.4 开始65
4.4.1 EAGLView类的修改65
4.4.2 EAGLView.m文件的修改66
4.4.3 ES1Renderer类68
4.4.4 配置视图端口71
4.5 游戏场景和游戏控制器72
4.5.1 创建游戏控制器72
4.5.2 GameController类72
4.5.3 创建单态类74
4.5.4 GameController.m文件内部74
4.5.5 AbstractScene类76
4.5.6 GameScene类77
4.6 小结79
4.7 练习79
第5章 图像渲染81
5.1 渲染入门81
5.2 四边形的渲染82
5.3 纹理映射84
5.4 交错顶点数组86
5.5 结构体88
5.6 图像渲染类89
5.6.1 Texture2D类89
5.6.2 TextureManager类96
5.6.3 ImageRenderManager类98
5.7 Image类104
5.7.1 初始化105
5.7.2 获取子图像107
5.7.3 复制图像108
5.7.4 渲染图像108
5.7.5 getter和setter111
5.8 小结112
5.9 练习112
第6章 精灵表113
6.1 精灵表简介113
6.1.1 简单精灵表113
6.1.2 复杂精灵表114
6.2 使用Zwoptex116
6.3 SpriteSheet类117
6.3.1 初始化117
6.3.2 提取精灵120
6.4 PackedSpriteSheet类121
6.4.1 初始化121
6.4.2 解析控制文件122
6.4.3 提取精灵123
6.5 小结123
6.6 练习124
第7章 动画125
7.1 动画篇的项目125
7.2 动画简介125
7.2.1 帧126
7.2.2 状态126
7.2.3 类型126
7.2.4 方向126
7.2.5 跳动帧126
7.3 Animation类127
7.3.1 初始化127
7.3.2 添加帧128
7.3.3 更新动画128
7.3.4 渲染动画130
7.3.5 完成131
7.4 小结133
7.5 练习133
第8章 点阵字134
8.1 点阵字项目134
8.2 点阵字简介134
8.3 创建点阵字精灵表135
8.4 BitmapFont类137
8.5 与C语言的关系138
8.5.1 初始化方法138
8.5.2 解析控制文件139
8.6 渲染文本142
8.6.1 渲染合理的文本143
8.6.2 文本宽度和高度145
8.6.3 重新分配146
8.7 小结146
8.8 练习147
第9章 贴图地图148
9.1 贴图地图入门148
9.2 贴图地图简介148
9.3 贴图地图编辑器150
9.3.1 贴图调色板151
9.3.2 图层151
9.4 创建贴图地图152
9.4.1 新建一个贴图集合152
9.4.2 创建地图图层153
9.4.3 创建对象图层154
9.4.4 绘制地图154
9.4.5 放置对象154
9.5 认识Tiled配置文件155
9.5.1 map元素155
9.5.2 tileset元素155
9.5.3 layer元素156
9.5.4 objectgroup元素157
9.6 地图类157
9.6.1 Layer类158
9.6.2 TileSet类162
9.6.3 TiledMap类163
9.6.4 初始化165
9.6.5 解析地图文件166
9.6.6 创建图层图像174
9.6.7 图层渲染175
9.6.8 获取贴图信息177
9.7 小结178
9.8 练习178
第10章 粒子发射器179
10.1 粒子发射项目179
10.1.1 粒子系统简介180
10.1.2 粒子系统参数181
10.2 粒子的生命周期182
10.2.1 粒子的诞生182
10.2.2 粒子生存183
10.2.3 粒子消亡183
10.2.4 粒子重生184
10.3 粒子发射器的配置184
10.4 粒子发射器类185
10.4.1 TBXMLParticleAdditions类185
10.4.2 ParticleEmitter类187
10.5 开始游戏198
10.6 小结199
第11章 声音200
11.1 声音项目200
11.2 iPhone的声音简介200
11.2.1 音频会话200
11.2.2 播放音乐202
11.2.3 播放音效202
11.2.4 创建音效204
11.2.5 立体声与单声道205
11.3 声音管理器类205
11.4 音效管理219
11.4.1 载入音效220
11.4.2 播放音效223
11.4.3 停止播放音效225
11.4.4 设置音效和监听器位置226
11.5 处理声音播放干扰227
11.6 小结228
第12章 用户输入230
12.1 用户输入项目230
12.2 用户输入简介 231
12.3 处理触控事件232
12.3.1 touchesBegan阶段234
12.3.2 touchesMoved阶段235
12.3.3 touchesEnded阶段236
12.4 处理敲击237
12.5 加速器事件238
12.6 小结240
第13章 游戏界面241
13.1 游戏界面项目241
13.2 OpenGL ES界面242
13.2.1 界面渲染242
13.2.2 按钮边界定义245
13.2.3 点击处理245
13.2.4 可视化边界246
13.2.5 转换处理248
13.2.6 OpenGL ES定向249
13.3 UIKit界面251
13.3.1 创建界面252
13.3.2 界面连接254
13.3.3 UIKit定向257
13.3.4 显示或隐藏UIKit界面259
13.4 小结261
第14章 游戏对象和实体262
14.1 游戏对象和实体项目262
14.2 游戏对象263
14.2.1 AbstractObject类263
14.2.2 EnergyObject类265
14.3 游戏实体272
14.3.1 AbstractEntity类273
14.3.2 人工智能275
14.3.3 Player实体类276
14.4 保存游戏对象或实体284
14.5 小结286
第15章 碰撞检测287
15.1 碰撞检测简介287
15.2 基于帧与基于时间289
15.3 轴对齐边界框289
15.4 检测碰撞290
15.5 碰撞地图291
15.6 实体与地图间的碰撞检测293
15.7 实体与实体间的碰撞检测294
15.8 小结296
第16章 组装起来297
16.1 摄像机297
16.2 保存游戏状态和设置299
16.2.1 保存游戏状态299
16.2.2 载入游戏状态300
16.2.3 保存游戏设置302
16.2.4 载入游戏设置303
16.3 保存高分304
16.3.1 添加分数306
16.3.2 保存高分307
16.3.3 载入高分307
16.4 性能和测试308
16.4.1 使用仪表309
16.4.2 Leaks仪表310
16.4.3 使用OpenGL ES仪表312
16.4.4 用Thumb编译314
16.5 β测试314
16.5.1 多种设备类型315
16.5.2 反馈316
16.6 小结316
· · · · · · (
收起)