《AdobeFlash11Stage3D(Molehill)游戏编程初学者指南》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:(加)Christerkaitila著;布凡译
  • 出 版 社:北京:科学出版社
  • 出版年份:2013
  • ISBN:9787030363985
  • 页数:382 页
图书介绍:本书将会教你如何使用Flash做一款个性十足的次世代3D游戏,如果你曾梦想用Flash写一款属于自己的3D游戏,那就准备好领略Stage3D硬件加速带给你的强劲动力吧!这本书将带领你使用这项激动人心的新技术,伴着充足的示例、图片、以及源代码,一步一步地走完开发3D游戏的全过程。无论你是个3D编程的新手,还是个专业的游戏开发者,一定都会从这本实干又有趣的指南中获益的。

第1章 让我们用Molehill制作游戏吧!1.1 你的史诗级探险一触即发! 1

1.2 什么是Molehill? 2

1.3 Molehill不能做什么? 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蓝图 17

2.1 旧式渲染方法 17

2.2 Molehill渲染法:Stage3D 18

2.3 使用2D Flash文字和Sprite 18

2.4 为什么Stage3D这么快? 19

2.5 Molehill应用的结构 20

Stage 21

Stage3D 21

Context3D 21

VertexBuffer3D 21

IndexBuffer3D 22

Program3D 22

建立 Mo1ehi11程序的流程 22

2.6 小结 25

2.7 第2级,达成! 25

第3章 启动引擎! 27

3.1 第回事1步:从Adobe下载Flash 11(Mo1ehill) 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世界 84

5.1 创建顶点缓冲 84

将3D模型导入Flash 87

我们的网格解析类完成了! 102

5.2 渲染循环 103

任务完成——收获的时间到了 119

5.3 文件夹结构 119

5.4 小结 120

5.5 第5级,达成! 121

第6章 纹理:让世界更好看 123

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章 丰富的视效! 223

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章 充满动作的世界 260

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

第1 0章 3,2,1,启动! 301

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

附录A AGAL操作码参考 375

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