标题：Adobe Flash 11 Stage3D(Molehill)游戏编程初学者指南
基础信息
书名：Adobe Flash 11 Stage3D(Molehill)游戏编程初学者指南  
书号：978-7030-3639-85
作者：〔加〕Christer Kaitila
译者：布 凡
出版日期：3/1/2013
定价：68
开本：16
装帧：平装
字数（千字数）：450
出版社：科学出版社
[1]
内容简介
《AdobeFlash 11 Stage3D(Molehill)游戏编程初学者指南》是在Flash Player11推出不久后出版的一本Stage3D入门书。在这项新技术刚问世而相关资源较为缺乏的时期，它可以说是一本不可多得的教材，对学习Stage3D将会十分有帮助，可谓是那些对3D图形学不太了解的Flash程序员们求之不得的及时雨。本书作者是资深游戏开发者，他通过丰富的项目经验，结合实际案例，系统地讲解了Stage3D技术和3D游戏开发的方方面面，将最实用的技能和知识传授给读者，让读者轻松上手、少走弯路。
编辑推荐
一本使用AS3和AGAL，在Flash 11 Stage3D(Molehill)中创建炫目3D游戏的渐进式指南。
读者对象
本书既可供Flash相关从业人员和广大AS爱好者自学参阅，又可作为相关职业的培训教材。
图书目录
第1 章 让我们用Molehill制作游戏吧！
1.1 你的史诗级探险一触即发！ ……………………………………………… 1 
1.2 什么是Molehill？……………………………………………………………2 
1.3Molehill不能做什么？ ……………………………………………………… 3 
1.4 你需要具备哪些知识？ …………………………………………………… 3 
1.5 基本的3D术语……………………………………………………………… 4 
1.6 常见3D显像术语…………………………………………………………… 4
网格（Mesh）…………………………………………………………………… 4
多边形（Polygon）…………………………………………………………… 4
顶点（Vertex）………………………………………………………………… 5
纹理（Texture）……………………………………………………………… 6
着色器（Shader）……………………………………………………………… 6
顶点着色器（Vertex…Program）……………………………………………… 7
片段着色器（Fragment…Program）…………………………………………… 7
3D显像等级已达成！…………………………………………………………… 8 
1.7 常见3D编码术语…………………………………………………………… 9
向量（Vector）………………………………………………………………… 9
法线（Normal）……………………………………………………………… 10
矩阵（Matrix）……………………………………………………………… 12
3D编码等级已达成！………………………………………………………… 12 
1.8 小 结 …………………………………………………………………… 15 
1.9 第1级，达成！……………………………………………………………15
第2 章 Molehill蓝图
2.1 旧式渲染方法 ……………………………………………………………17
2.2Molehill渲染法：Stage3D………………………………………………18 
2.3 使用2DFlash文字和Sprite………………………………………………18 
2.4 为什么Stage3D这么快？…………………………………………………19 
2.5Molehill应用的结构………………………………………………………20 
Stage…………………………………………………………………………21
Stage3D………………………………………………………………………21
Context3D……………………………………………………………………21
VertexBuffer3D………………………………………………………………21
IndexBuffer3D………………………………………………………………22 
Program3D……………………………………………………………………22
建立Molehill程序的流程……………………………………………………22 
2.6 小 结 ……………………………………………………………………25 
2.7 第2级，达成！……………………………………………………………25
第3 章 启动引擎！
3.1 第1步：从Adobe下载Flash11（Molehill）…………………………… 27
Stage3D设置好了！………………………………………………………… 32 
3.2 第2步：开始编码…………………………………………………………33
任务完成——收获的时间到了……………………………………………… 46
祝贺你！……………………………………………………………………… 46 
3.3 完整的源代码 ……………………………………………………………47 
3.4 小 结 …………………………………………………………………… 49 
3.5 第3级，达成…………………………………………………………… 49
第4 章 基础着色器：我能看到东西了！
4.1 AGAL：Adobe图形汇编语言……………………………………………52
一行AGAL代码是什么样的？…………………………………………………52
什么是寄存器（Register）？………………………………………………53
什么是分量（Component）？……………………………………………… 53
同时使用4个分量进行工作………………………………………………… 54
不同的任务，不同的寄存器…………………………………………………54 
4.2 
基础AGAL着色器示例…………………………………………………… 57 
顶点着色器……………………………………………………………………57
片段着色器……………………………………………………………………59 
4.3 编译AGAL源码……………………………………………………………59 
4.4 该渲染了！………………………………………………………………61 
4.5 创作一个着色器演示文件………………………………………………63 
4.6 添加FPS计数器…………………………………………………………64
任务完成——收获的时间到了………………………………………………79
祝贺你！………………………………………………………………………79 
4.7 小 结…………………………………………………………………… 81 
4.8 第4级，达成！…………………………………………………………81
第5 章 构建一个3D世界
5.1 创建顶点缓冲……………………………………………………………84
将3D模型导入Flash………………………………………………………… 87
我们的网格解析类完成了！…………………………………………………102 
5.2 渲染循环…………………………………………………………………103
任务完成——收获的时间到了………………………………………………119 
5.3 文件夹结构………………………………………………………………119 
5.4 小 结 ……………………………………………………………………120 
5.5 第5级，达成！……………………………………………………………121
第6 章 纹理：让世界更好看
6.1 制订计划的时间：创造一个“真正”的游戏 …………………………123 
6.2 在Stage3D中使用纹理……………………………………………………124
2的幂………………………………………………………………………… 125 
u,…v坐标………………………………………………………………………126
透明纹理………………………………………………………………………127
在着色器中改动u,…v坐标……………………………………………………128
纹理图集……………………………………………………………………… 129
动画纹理……………………………………………………………………… 130
操作纹理数据………………………………………………………………… 130 
6.3 渲染状态 …………………………………………………………………131 
背面剔除（Backface…Cull）………………………………………………131
深度测试（Depth…Test）……………………………………………………132
混合模式（Blend…Mode）……………………………………………………133 
6.4 增加性能………………………………………………………………… 137
不透明的更快………………………………………………………………… 137
避免重复绘制………………………………………………………………… 137
避免状态改变………………………………………………………………… 138
使用简单着色器……………………………………………………………… 138
绘制更少的网格……………………………………………………………… 138 
6.5 给演示文件添加纹理效果……………………………………………… 139 
6.6 你的演示文件已经升级了！…………………………………………… 157 
6.7 小 结 …………………………………………………………………… 159 
6.8 第6级，达成！…………………………………………………………… 159
第7 章 计时器、输入、实体：游戏性元素！
7.1 我们目前的任务 ………………………………………………………… 161
保持简洁……………………………………………………………………… 162
让它可以重用………………………………………………………………… 163 
7.2 让我们的游戏更富有交互性 ……………………………………………164
添加HUD叠加层……………………………………………………………… 164
持续跟踪时间：游戏计时类………………………………………………… 166
游戏输入类…………………………………………………………………… 170
一个抽象的实体类…………………………………………………………… 177 
7.3 使用get和set函数隐藏复杂的代码 …………………………………… 181 
7.4 为我们新改良的游戏世界设计美术资源 ……………………………… 199 
7.5 升级我们的游戏 ………………………………………………………… 200 
7.6 让我们在运行中看看这一切吧！……………………………………… 219 
7.7 小 结 …………………………………………………………………… 221 
7.8 第7级，达成！……………………………………………………………222
第8 章 丰富的视效！
8.1 我们目前的任务 …………………………………………………………223 
性能设计……………………………………………………………………… 223
可重用性设计………………………………………………………………… 225
使用AGAL进行动画…………………………………………………………… 225 
8.2 一个基础的粒子实体类 …………………………………………………226 
8.3 关键帧顶点动画着色器 ………………………………………………… 236 
8.4 粒子系统管理类 ………………………………………………………… 240 
8.5 关键帧化粒子网格 ……………………………………………………… 247
选择粒子纹理………………………………………………………………… 247 
8.6 将粒子系统类整合到游戏中…………………………………………… 250 
8.7 让我们在运行中领略粒子系统吧！…………………………………… 255 
8.8 小 结 …………………………………………………………………… 257 
8.9 第8级，达成！……………………………………………………………257
第9 章 充满动作的世界
9.1 为“角色”扩展实体类 …………………………………………………260
实现人工智能………………………………………………………………… 265 
9.2 碰撞检测 …………………………………………………………………272 
9.3 一个“角色重用池”系统 ………………………………………………275 
9.4 为了提升帧频，让游戏只显示邻近的角色 ……………………………281 
9.5 使用映射图的简单关卡编辑器 …………………………………………284 
9.6 升级输入程序 ……………………………………………………………291 
9.7 小 结 …………………………………………………………………… 300 
9.8 第9级，达成！……………………………………………………………300
第10 章 3, 2, 1, 启动！
10.1 我们的最终任务 …………………………………………………………301 
10.2 抵达终点线 ………………………………………………………………302 
10.3 为游戏添加新变量……………………………………………………… 305 
10.4 为游戏添加美术资源 ……………………………………………………310 
10.5 升级最终的游戏源代码 …………………………………………………319 
10.6 定义游戏专用事件 ………………………………………………………350 
10.7 发布，扩散，收益！ ……………………………………………………370 
10.8 小 结 …………………………………………………………………… 371 
10.9 第10级达成，宇宙得救了！…………………………………………… 371 
10.10 之后该怎么办？……………………………………………………… 372
作者寄语 ………………………………………………………………………372
附录AAGAL操作码参考
A.1 一行AGAL代码是什么样的？………………………………………… 375 
A.2 AGAL着色器可用的寄存器 ……………………………………………375 
A.3 复制数据………………………………………………………………376 
A.4 代数操作码 ……………………………………………………………376 
A.5 数学操作码 ……………………………………………………………377 
A.6 三角学操作码 …………………………………………………………377 
A.7 条件操作码 ……………………………………………………………378 
A.8 向量和矩阵操作码 ……………………………………………………378 
A.9 纹理采样寄存器 ………………………………………………………379
附录 B突击测验答案