第1章 高级碰撞检测 1
1.1不规则形状对象的碰撞测试 1
1.1.1位图用于碰撞检测 4
1.1.2半透明形状的碰撞测试 7
1.1.3使用BitmapData.hitTest测试非位图对象 10
1.2大量对象的碰撞测试 12
1.2.1实现基于网格的碰撞检测 14
1.2.2编写网格代码 17
1.2.3测试和调整网格 24
1.2.4建成一个可重用的类 27
1.2.5碰撞检测:并不只是碰撞 37
1.3小结 42
第2章 转向行为 43
2.1行为 44
2.2Vector2D类 45
2.3Vehicle类 52
2.4SteeredVehicle类 59
2.4.1搜寻行为 60
2.4.2逃避行为 62
2.4.3到达行为 66
2.4.4追捕行为 68
2.4.5躲避行为 70
2.4.6漫游行为 72
2.4.7对象规避 74
2.4.8路径追随 78
2.5群落 82
2.6小结 85
第3章 等角投影 87
3.1等角投影与二等角投影 89
3.2创建等角图形 90
3.3等角变换 91
3.3.1世界坐标变换为屏幕坐标 92
3.3.2屏幕坐标转换为世界坐标 96
3.3.3IsoUtils类 96
3.4等角对象 98
3.5深度排序 108
3.6等角世界类 113
3.73D中的移动 115
3.8碰撞检测 120
3.9使用外部图形 123
3.10等角区块图 127
3.11小结 133
第4章 寻路 134
4.1寻路基础 134
4.2A* 134
4.2.1A*基础 136
4.2.2A*算法 136
4.2.3计算代价 137
4.2.4算法图示 138
4.2.5编写代码 142
4.2.6常用A*启发函数 153
4.3实现AStar类 157
4.4在游戏中使用AStar 164
4.5高级地形 167
4.6小结 169
第5章 其他输入方式:摄像头和麦克风 170
5.1摄像头和麦克风 171
5.2声音作为输入 171
5.2.1一个由声音控制的游戏 175
5.2.2活动事件 178
5.3视频作为输入 180
5.3.1视频大小和质量 182
5.3.2视频与位图 183
5.3.3分析像素 184
5.4小结 203
第6章 高级物理:数值积分 204
6.1数值积分以及为什么欧拉积分“不好” 204
6.2龙格-库塔积分 206
6.2.1基于时间的运动 208
6.2.2编写龙格-库塔二阶积分(RK2)代码 212
6.2.3编写龙格-库塔四阶积分(RK4)代码 214
6.2.4薄弱环节 217
6.2.5龙格-库塔小结 218
6.3Verlet积分 218
6.3.1Verlet点 219
6.3.2Verlet线段 224
6.3.3Verlet结构 228
6.3.4关节 233
6.3.5进一步深入 234
6.4小结 235
第7章 Flash 10中的3D 236
7.1Flash 10 3D基础 236
7.23D定位 242
7.2.1深度排序 243
7.2.23D容器 245
7.33D旋转 247
7.4视场与焦距 256
7.5屏幕和3D坐标 259
7.6指向 263
7.7小结 264
第8章 Flash 10绘图API 265
8.1路径 265
8.1.1一个简单的绘图程序 268
8.1.2绘制曲线 270
8.1.3Wide绘制命令和NO_OP 271
8.1.4环绕 274
8.2三角形 278
8.2.1位图填充与三角形 281
8.2.2三角形与3D 289
8.3图形数据 299
8.4小结 304
第9章 Pixel Bender 305
9.1什么是Pixel Bender 305
9.2编写一个Pixel Shader 307
9.3数据类型 310
9.4获得当前像素坐标 311
9.5参数 315
9.6输入图像采样 319
9.7Flash的旋转Shader 323
9.8在Flash中使用Pixel Bender Shader 325
9.8.1加载shader与嵌入shader 326
9.8.2shader用于填充 327
9.8.3在Flash中访问shader元数据 329
9.8.4在Flash中设置shader参数 330
9.8.5变换shader填充 331
9.8.6实现shader填充动画 332
9.8.7指定shader输入图像 333
9.9使用Shader作为滤镜 335
9.10使用Shader作为混合模式 336
9.11小结 338
第10章 补间引擎 339
10.1Flash Tween类 340
10.1.1缓动函数 341
10.1.2结合补间 343
10.2Flex Tween类 344
10.2.1Flex Tween类的缓动函数 349
10.2.2多重补间 350
10.2.3补间序列 352
10.3补间引擎 353
10.4Tweener 354
10.4.1Tweener中的缓动函数 355
10.4.2Tweener中的多重补间 355
10.4.3Tweener中的序列 355
10.5TweenLite/TweenGroup 358
10.5.1TweenLite中的缓动函数 359
10.5.2TweenLite的多重补间 360
10.5.3TweenLite/TweenGroup中的序列 361
10.6KitchenSync 365
10.6.1KitchenSync中的缓动函数 366
10.6.2利用KitchenSync对多个对象/属性补间 367
10.6.3KitchenSync中的补间序列 369
10.7gTween 370
10.7.1gTween中的缓动函数 371
10.7.2利用gTween完成多个对象补间 371
10.7.3gTween中的补间序列 372
10.8小结 373