第1章 趣解色彩——江南美景与艺术编程 1
1.1 RGB模式、ARGB模式及其运算 1
1.1.1 RGB模式及其运算 1
1.1.2 Flash中的ARGB模式与不透明度的关系 3
1.2 ColorTransform对RGB数值的操作及应用 4
1.2.1 RGB测试用例的书写 5
1.2.2 初始效果及颜色属性的测试 6
1.2.3 线性/倍乘提高降低亮度 7
1.2.4 单个通道的线性/倍乘变化 8
1.2.5 ColorTransform在色彩处理方面的不足 9
1.2.6 Alpha测试用例的书写 9
1.2.7 线性提高或降低alpha值 10
1.2.8 设置alpha值 11
1.2.9 用ColorTransform实现反色效果 12
1.3 HSB模式及其与RGB间的转换 13
1.3.1 HSB模式的色彩空间模型及其分支 13
1.3.2 软件中的拾色器如何实现HSB的色彩空间模型 15
1.3.3 HSB与RGB之间的互转公式及HSL和HSV对色彩属性理解的异同 17
1.3.4 HSB与RGB互转公式的ActionScript实现 18
1.4 浅析亮度与灰度/明度的关系 19
1.4.1 灰度/明度的概念及其与HSB亮度的异同 19
1.4.2 灰度的计算方法 19
1.4.3 用灰度/明度指导色彩搭配 20
1.5 小结 22
第2章 融会贯通——大话图层样式与滤镜 23
2.1 Photoshop图层样式初体验 23
2.1.1 投影样式的制作 23
2.1.2 斜面和浮雕样式的制作 24
2.1.3 添加渐变叠加样式 25
2.2 Photoshop投影样式在Flash基本滤镜中的体现 27
2.2.1 投影颜色与透明度的模拟 28
2.2.2 Photoshop投影大小的模拟 29
2.2.3 Flash中的投影品质 30
2.2.4 Photoshop转Flash的投影角度换算 31
2.2.5 投影距离的模拟 32
2.2.6 Photoshop投影扩展参数在Flash滤镜中的体现 32
2.2.7 关于Photoshop的图层挖空投影 33
2.2.8 Photoshop品质初探——杂色 35
2.2.9 Photoshop品质初探——等高线 36
2.2.10 内阴影选项 41
2.3 使用斜角滤镜模拟Photoshop的斜面样式 43
2.3.1 用方块观察斜面样式与斜角滤镜作用方法的差异 44
2.3.2 Photoshop斜面样式的精雕细琢VS Flash斜角滤镜的粗制滥造 47
2.3.3 Photoshop深度==Flash强度? 49
2.3.4 Photoshop高度==Flash距离? 51
2.3.5 Photoshop大小==Flash模糊? 54
2.4 本章小结 54
第3章 素食盛宴——揭秘Flash简单滤镜 55
3.1 Flash简单滤镜真相大揭秘 55
3.1.1 Flash简单滤镜的共性分析 55
3.1.2 以小见大——从细节损失洞悉滤镜本质 58
3.1.3 用内侧滤镜验证Flash简单滤镜的实现原理 63
3.1.4 简单滤镜中的渐变原理探讨 66
3.2 诡异的滤镜参数值为您创造出更多的奇葩 68
3.2.1 高强度的发光滤镜等于描边 68
3.2.2 高强度的斜角模拟所谓的“雕刻清晰” 69
3.2.3 反向斜角实现凹陷的浮雕效果 70
3.2.4 利用斜角的双层叠加创建水晶感的高光 71
3.2.5 更改渐变滤镜不透明度的变化趋势来加强立体感 72
3.2.6 渐变滤镜模拟简易等高线 80
3.2.7 用冲破极限的数字打造图形纹理 87
3.3 本章小结 91
第4章 数学之美——探寻复杂滤镜与矩阵的奥秘 93
4.1 矩阵数学趣谈——从田忌赛马到矩阵的四则运算 93
4.1.1 田忌赛马故事中的矩阵及其加法 93
4.1.2 矩阵加法的中性元素——零矩阵 94
4.1.3 从田忌赛马的矩阵加法到矩阵的减法与数乘 95
4.1.4 田忌赛马中矩阵乘法的体现 96
4.1.5 矩阵乘法的中性元素——单位矩阵 98
4.1.6 田忌赛马矩阵乘法的推广——资源的重组与分配 98
4.1.7 资源调度行为的撤销——逆矩阵 99
4.2 图形变换矩阵——Matrix 101
4.2.1 矩阵数学实现点的基本变换 101
4.2.2 矩阵变换的归纳及其在Matrix中的体现 103
4.2.3 使用Matrix类实现图形变换 104
4.2.4 Matrix中的矩阵乘法与变换合并 107
4.2.5 使用Matrix为我们封装的矩阵变换方法 108
4.2.6 使用Matrix类实现点的变换 110
4.2.7 变换参考点的转移 114
4.2.8 用逆矩阵管理多种变换 117
4.3 迷离的色彩矩阵——ColorMatrixFilter与DynamicMatrix 118
4.3.1 ColorMatrixFilter与ColorTransform的功能比较 118
4.3.2 测试用例的调整 119
4.3.3 ColorMatrixFilter与ColorTransform在底层处理机制上的差异 120
4.3.4 ColorMatrixFilter精粹的体现——跨通道运算 121
4.3.5 DynamicMatrix中的矩阵数学 122
4.3.6 ColorMatrix中的矩阵数学 123
4.4 色彩矩阵的应用——AdjustColor类 123
4.4.1 亮度矩阵brightness的算法及其与Photoshop亮度调整的异同 124
4.4.2 对比度矩阵contrast的算法原理 126
4.4.3 饱和度矩阵saturation的算法原理 129
4.4.4 色相矩阵hue的算法原理 132
4.4.5 AdjustColor合并4个矩阵 136
4.4.6 AdjustColor的优点与局限性分析 137
4.5 资源分配又一例——矩阵卷积与ConvolutionFilter 138
4.5.1 矩阵卷积的社会学原型及算法原理 138
4.5.2 矩阵卷积的ActionScript实现 140
4.5.3 基于距离的加权平均矩阵 144
4.5.4 振铃现象的处理 145
4.5.5 后卷积操作 147
4.5.6 卷积运算对像素的影响机制 148
4.5.7 卷积矩阵的高级技巧及其原理 152
4.6 本章小结 155
第5章 南橘北枳——混合模式原理初探 156
5.1 混合模式的基本原理及其应用场合 156
5.1.1 投影色彩与背景环境的关系 156
5.1.2 在Flash中使用混合模式 157
5.1.3 混合的数学概念 158
5.2 alpha与混合模式 159
5.2.1 alpha混合的色彩算法 159
5.2.2 alpha混合公式测试及不透明度的性能分析 161
5.3 混合模式的分类 162
5.3.1 RGB混合的基本运算模式及其优先级 163
5.3.2 混合模式工具类的书写 166
5.3.3 组合类混合模式简介 169
5.3.4 透明度类混合模式及其用途 170
5.3.5 反相混合模式 171
5.3.6 为什么透明度混合模式必须在“图层”模式下运行 172
5.3.7 Photoshop的穿透模式在Flash IDE中的体现 172
5.4 多滤镜、多模式组合实现相对复杂的Photoshop图层样式 174
5.4.1 滤镜与原图形的分离 175
5.4.2 Photoshop样式叠放次序的探讨 179
5.5 本章小结 184
第6章 活字思想——混合模式深度剖析 185
6.1 BitmapData基础 185
6.1.1 BitmapData与像素级处理 185
6.1.2 最像素级的方法——getPixel和getPixe132 188
6.1.3 对应的设置方法——setPixel和setPixel32 189
6.1.4 批量上色方法——fillRect 192
6.2 基于BitmapData的自定义混合模式 194
6.2.1 探讨draw的混合模式算法 194
6.2.2 内置混合模式回顾 198
6.2.3 自定义混合模式的雏形 198
6.2.4 使用自定义混合模式算法 199
6.2.5 溶解模式的ActionScript实现 200
6.3 HSB混合模式的ActionScript实现 201
6.3.1 彩虹琥珀字体的素材准备 201
6.3.2 测试用例的书写 203
6.3.3 色彩模式的选择及其实现 204
6.3.4 七色彩虹效果的误差分析 206
6.3.5 色相的修正方案 207
6.3.6 明度的调整 208
6.3.7 测试不同的HSB混合模式 209
6.4 用Excel数学曲线剖析混合模式 211
6.4.1 生成混合模式结果表格 212
6.4.2 将表格数据转换为三维图表 212
6.4.3 二维剖面图制作原理 213
6.4.4 生成二维剖面图所需的数据 214
6.4.5 将剖面图数据转换为图表 214
6.4.6 测试柔光混合模式的函数图像 215
6.4.7 坐标轴转换及更改剖面方向 216
6.4.8 测试强光混合模式的函数图像 217
6.4.9 测试点光混合模式的函数图像 218
6.5 混合模式高级技巧 219
6.5.1 自增混合 219
6.5.2 反相混合 221
6.5.3 错位混合 222
6.5.4 正交混合 222
6.5.5 滤镜混合 225
6.6 本章小结 225
第7章 自出机杼——叠加效果的制作 226
7.1 为Flash内的文本应用渐变填充和位图填充 226
7.1.1 Photoshop渐变点编辑和Flash IDE渐变条的功能差异 227
7.1.2 如何在Flash里合成被分离的色彩渐变与alpha渐变 229
7.1.3 Photoshop中的渐变重心 230
7.1.4 在Flash IDE里用混合模式简化Photoshop的渐变合成 231
7.1.5 Photoshop渐变样式的导出 232
7.1.6 Photoshop的渐变样式与Flash的渐变类型 233
7.1.7 Photoshop的渐变类型 233
7.1.8 Photoshop实底渐变与平滑度算法初探 234
7.1.9 Flash IDE的渐变【流】选项及其功能 235
7.1.10 影响线性插值的因素——线性RGB与焦点偏移 236
7.1.11 如何在Flash IDE里将渐变应用到文本上 237
7.2 Flash渐变代码的使用技巧 239
7.2.1 渐变属性与绘图API的对应关系 239
7.2.2 利用FlashPlayer 11的新功能简化渐变信息的读取操作 239
7.2.3 用代码生成代码 241
7.3 createGradientBox算法大解密 243
7.3.1 空矩阵和默认矩阵的填充效果 244
7.3.2 矩阵变量与createGradientBox之间的关系 246
7.3.3 createGradientBox的不足之处及其弥补方案 248
7.4 文本渐变填充的ActionScript实现 249
7.4.1 测试用例的书写 249
7.4.2 利用ColorTransform给文本填充多种颜色 250
7.4.3 精确定位需要上色的区域 252
7.4.4 利用ColorTransform实现渐变填充 254
7.4.5 色彩混合方法——merge 255
7.4.6 通道搬运工copyChannel——简化版的merge方法 258
7.4.7 针对性更强的通道复制——copyPixels方法 260
7.4.8 更直观的做法——alpha混合模式 261
7.5 本章小结 261
第8章 触类旁通——细读Photoshop渐变算法 262
8.1 利用BitmapData分析渐变趋势 262
8.1.1 分析工具类的书写 262
8.1.2 利用工具类绘制ActionScript默认渐变的趋势线 263
8.1.3 利用工具类绘制Photoshop默认渐变的趋势线 264
8.2 实底渐变平滑度概述 265
8.2.1 测试Photoshop中的渐变平滑度参数 265
8.2.2 渐变重心点对渐变趋势的影响 266
8.2.3 简易的平滑渐变模拟技巧 267
8.3 渐变点平滑算法探讨 268
8.3.1 平滑算法的定性分析 268
8.3.2 平滑算法定量测试用例的书写 269
8.3.3 平滑算法定量测试用例的完善 271
8.3.4 平滑度曲线方程的书写 275
8.3.5 参数方程的映射处理 278
8.3.6 平滑上下限的控制及算法封装 279
8.3.7 用ActionScript模拟渐变的平滑度 282
8.4 平滑渐变的扩展与应用 284
8.4.1 线性平滑渐变的仿射转换 284
8.4.2 平滑放射渐变及焦点偏移的模拟 286
8.4.3 Photoshop内置渐变的模拟 289
8.4.4 创意式渐变制作方法举例 290
8.5 关于Photoshop的杂色渐变 293
8.5.1 杂色渐变模拟基础 293
8.5.2 杂色渐变的一些基本选项及其模拟方法 294
8.5.3 利用BitmapData的变换API实现HSB杂色 298
8.5.4 杂色渐变的粗糙度 299
8.6 本章小结 299
第9章 高屋建瓴——解读Photoshop图层样式与等高线 301
9.1 矩形与集合 301
9.1.1 矩形的集合运算 301
9.1.2 区域与集合的体现——ctangle 302
9.1.3 矩形与点的位置关系 302
9.1.4 两矩形的位置关系及其集合运算函数 303
9.2 描边与集合运算 304
9.2.1 不规则图形的集合运算 304
9.2.2 集合运算与描边的关系 306
9.3 常用的模糊算法 311
9.3.1 用修改集合色彩的方法实现模糊 311
9.3.2 用均值滤波法实现模糊 314
9.3.3 描边与模糊的关系 315
9.4 Photoshop等高线总述 317
9.4.1 等高线的基本方程及其ActionScript实现 317
9.4.2 Photoshop等高线数据文件的解析 320
9.4.3 读取Photoshop导出的等高线文件并进行绘制 324
9.4.4 边角点的修正 324
9.5 本章小结 327
第10章 九尺之台——投影等高线与荧光灯效果 328
10.1 基于BitmapData的简易投影等高线效果 328
10.1.1 基于滤镜的等高线 328
10.1.2 BitmapData实现等高线映射 329
10.2 投影样式等高线算法探讨 334
10.2.1 用渐变分析器探讨等高线的变化趋势 334
10.2.2 均值滤波曲线方程的推导 335
10.2.3 均值滤波函数的ActionScript实现及其反函数的推导 338
10.2.4 强制淡出区的曲线方程 339
10.3 用ActionScript模拟荧光灯的等高线轮廓 339
10.3.1 创建精确的线性淡出投影 339
10.3.2 对线性淡出投影进行基本的等高线变换 340
10.3.3 引入强制淡出区 343
10.4 等高线映射的后续处理——灯光色彩及轮廓微调 344
10.4.1 调整等高线效果的色彩与透明度 344
10.4.2 利用插值曲线模拟复杂的等高线效果 344
10.4.3 内阴影等高线效果的实现 346
10.5 本章小结 347
第11章 肉食原料——发光等高线与可爱的蛋糕字体 348
11.1 发光中的渐变色选项 349
11.1.1 渐变与等高线的关系 349
11.1.2 渐变映射的ActionScript实现 352
11.2 精确发光与蓬松效果 355
11.2.1 Photoshop精确发光的特性 355
11.2.2 精确发光的ActionScript实现 355
11.2.3 精确发光的参数修正 357
11.2.4 精确发光与等高线映射 359
11.3 发光品质与蛋糕表面质感的打造 360
11.3.1 发光范围的控制 360
11.3.2 关于发光样式的抖动参数 362
11.4 本章小结 365
第12章 光泽样式——等高线与扭曲效果的实现 367
12.1 光泽样式的结构与基本参数 368
12.1.1 光泽样式的基本构成 368
12.1.2 构建光泽样式的测试用例 368
12.1.3 光泽样式的基本参数及其Flash实现 369
12.1.4 光泽等高线基础属性对样式的影响 371
12.2 光泽中的等高线 371
12.2.1 光泽等高线的工作原理探讨 371
12.2.2 光泽等高线在Flash IDE中的模拟 375
12.3 光泽等高线的ActionScript实现 377
12.3.1 测试用例的书写 377
12.3.2 等高线映射的实现 378
12.3.3 模拟更多复杂的光泽样式 380
12.4 本章小结 382
第13章 斜面浮雕——等高线及立体效果的实现 383
13.1 平滑斜面基本参数选讲 383
13.1.1 斜面样式的基本结构 383
13.1.2 Photoshop斜面与Flash斜角在角度处理上的区别 384
13.1.3 深度和高度参数给予我们的启示 386
13.2 斜面和浮雕中的光泽等高线 388
13.2.1 测试用例的调整 388
13.2.2 测试几种特殊的等高线 389
13.2.3 光泽等高线作用原理分析 389
13.2.4 高度参数对光泽等高线的影响 391
13.3 用Flash IDE模拟斜面光泽等高线 392
13.3.1 分析Flash IDE中的滤镜结构 392
13.3.2 模拟斜面光泽等高线 394
13.4 斜面光泽等高线的ActionScript实现 397
13.4.1 测试用例的书写 397
13.4.2 等高线的映射处理 399
13.4.3 模拟相对复杂的斜面光泽等高线 400
13.5 斜面和浮雕中的等高线子集 401
13.5.1 等高线子集的基本功能 401
13.5.2 等高线子集的模拟方案 403
13.6 等高线子集的ActionScript实现 407
13.6.1 测试用例的书写 407
13.6.2 等高线的代码实现 408
13.7 本章小结 409
第14章 举一反三——创建自定义图层样式 410
14.1 用形态学方法模拟手工绘制的高光点 410
14.1.1 滤镜版的高光效果及其与手工高光的差异 410
14.1.2 测试用例的制作 411
14.1.3 基于像素的高光滤镜效果 413
14.1.4 为滤镜效果引入坐标变量 414
14.1.5 对高光效果的半成品进行优化 416
14.1.6 为高光效果添加渐变填充 417
14.1.7 中文字符的处理方案 419
14.2 字符的不均匀描边 420
14.2.1 测试用例的制作 420
14.2.2 外描边效果的实现 420
14.2.3 内描边的制作及其局限性 422
14.3 提取字符骨架以实现更丰富的字形效果 424
14.3.1 字符骨架与字体轮廓的关系 425
14.3.2 深入到像素及字符结构的算法 426
14.3.3 测试用例的书写 428
14.3.4 算法缺陷分析 430
14.3.5 算法的修正方案 430
14.3.6 循环扫描的处理及优化 431
14.3.7 双向循环扫描法 432
14.3.8 后续的细节 处理 434
14.4 本章小结 436
第15章 真枪实战——让滤镜效果动起来 437
15.1 将 Flash滤镜转换为代码 437
15.1.1 测试用例的书写 438
15.1.2 用 ActionScript实现Flash IDE中的滤镜 440
15.2 简化滤镜代码的转换工作 441
15.2.1 Flash IDE滤镜代码的读取 441
15.2.2 批量生成滤镜代码的方法 444
15.2.3 代码片断工具类的使用 445
15.3 滤镜动画制作举例 446
15.3.1 简单的ps样式动画 447
15.3.2 奇葩滤镜打造的万花筒 451
15.3.3 流光等高线特效 452
15.4 本章小结 462
第16章 项目分享——制作Photoshop艺术字生成器 463
16.1 产品分析及基础功能的测试 463
16.1.1 产品策划简析 463
16.1.2 项目基本设置 464
16.1.3 基础界面构建 464
16.1.4 生成位图数据 466
16.2 通过剪贴板实现数据交互 467
16.2.1 直接传输位图数据及其不足 467
16.2.2 用第三方软件测试透明图像在剪贴板中的存储方式 468
16.2.3 模拟第三方软件生成的剪贴板数据 469
16.2.4 剪贴板数据的优化 471
16.2.5 临时数据的管理 472
16.3 使用FlashPlayerl1.4的多线程API优化用户体验 474
16.3.1 ActionScript多线程的特点和优势 474
16.3.2 建立子线程的基本方法 475
16.3.3 子线程与主线程的连接 476
16.3.4 线程间的数据交互 477
16.3.5 用子线程处理耗时较长的代码 478
16.3.6 线程处理进度的显示 481
16.3.7 子线程与安全策略 483
16.4 软件基础框架的构建 483
16.4.1 基础界面的搭建 483
16.4.2 剪贴板工具类 485
16.4.3 样式制作的接口与管理 487
16.4.4 在主界面中调用样式 489
16.4.5 在子线程中定义样式算法 491
16.4.6 线程通讯管理与主线程管理器 492
16.4.7 子线程的数据收发 494
16.5 常用方法的封装 496
16.5.1 位图转换 496
16.5.2 字体工具 498
16.6 本章小结 499
第17章 珠联璧合——制作Photoshop艺术字样式 500
17.1 金碧辉煌的金属字体 500
17.1.1 金属字体的制作要领和基本设置 500
17.1.2 金属字体的基本结构 501
17.1.3 随机颜色的实现 502
17.1.4 金属字体的ActionScript实现 503
17.2 清澈透明的水滴字体 505
17.2.1 水滴字体的透视原理与基本组成 505
17.2.2 水滴字体样式的基本设置 507
17.2.3 透明效果的ActionScript实现 508
17.2.4 液化效果的ActionScript实现 510
17.2.5 用ActionScript动态添加水珠 510
17.2.6 生成水滴字体的GIF动画 513
17.3 Photoshop图层效果的封装 516
17.3.1 图层效果的接口制作 517
17.3.2 等高线算法的封装 518
17.3.3 渐变算法的封装 520
17.3.4 图层效果参数的定义 524
17.3.5 图层效果算法的书写 525
17.4 美味诱人的水果糖字体 526
17.4.1 Flash版水果糖字体的完善方案 526
17.4.2 基本选项设置 527
17.4.3 图层效果和滤镜的初始化 527
17.4.4 图层效果的实现 528
17.4.5 给水果糖字体赋予不同的颜色 530
17.5 晶莹剔透的彩虹琥珀字体 532
17.5.1 基本选项设置 532
17.5.2 图层效果和滤镜的初始化 532
17.5.3 图层效果简析 533
17.5.4 图层效果的ActionScript实现 533
17.6 松软可口的蛋糕字体 535
17.6.1 色彩随机方案及基本选项设置 536
17.6.2 图层效果和滤镜的初始化 536
17.6.3 蛋糕字体的 ActionScript实现 537
17.7 基于自定义图层效果的高光字体 538
17.7.1 基本选项设置 539
17.7.2 图层效果和滤镜的初始化 539
17.7.3 高光字体的ActionScript实现 540
17.8 本章小结 542
第18章 美丽邂逅——为音乐游戏制作Photoshop品质的音乐浪花效果 543
18.1 创作灵感与结构分析 543
18.1.1 创作灵感 543
18.1.2 基本的结构组成与实现方案 544
18.2 背景层的制作 545
18.3 水波层的绘制和实现流程 546
18.3.1 基础水波图像的构建 546
18.3.2 水波效果的细节 优化 546
18.3.3 水波图像的ActionScript实现 548
18.3.4 后续的处理 550
18.4 歌名图片的制作 550
18.4.1 线框效果的制作 551
18.4.2 用随机的发光点加强光感 551
18.4.3 通过混合模式加强光感 552
18.4.4 倒影图像的绘制 552
18.4.5 发光专用图层的制作 553
18.5 歌手图片的制作 554
18.5.1 基础框架的构建——变量的组织 554
18.5.2 基础框架的构建——3D文本的绘制 555
18.5.3 基础框架的构建——3D歌牌的绘制 557
18.5.4 渐变线框效果的制作 558
18.5.5 歌牌图片的异步处理及输出 560
18.6 水珠图像和水波置换图的准备 563
18.6.1 水珠图像的制作和渲染分析 563
18.6.2 水波置换图原理 564
18.6.3 水波置换图单元的制作 565
18.7 波形数据的分析与置换图的绘制 567
18.7.1 波形数据的生成与存储 567
18.7.2 置换图的绘制与优化 568
18.7.3 置换图的后续处理 570
18.7.4 将置换图应用到水波上 571
18.8 歌曲信息图像的渲染 571
18.8.1 原始图层的绘制 572
18.8.2 倒影图层的渲染 572
18.8.3 给文字添加音响效果 573
18.8.4 配色方案的完善 574
18.9 水珠图像的渲染 575
18.9.1 粒子的基本结构 576
18.9.2 触发粒子发射(水花飞溅)的代码 576
18.9.3 用链表优化粒子的循环 577
18.9.4 水珠的绘制 578
18.9.5 水珠的移除机制 580
18.10 让霓虹字尽情畅快地沐浴在音乐的海浪之中吧 581
18.10.1 找到符合条件的水珠粒子 581
18.10.2 水珠与霓虹字的有机结合 582
18.10.3 水珠运动状态的恢复 583
18.11 粒子数量的统计与显示 584
18.11.1 水珠数量的显示 584
18.11.2 巧用Adobe鲜为人知的API统计被置换的像素 584
18.12 本章小结 586
第19章 看你有多溅——基于Photoshop图像算法的休闲游戏规划 587
19.1 游戏策划简析 587
19.1.1 创意的来源及风格定位 587
19.1.2 游戏题材的确定 589
19.2 Q版字体的制作 590
19.2.1 将Q版字体的核心算法封装成类 590
19.2.2 定义Q版字体样式 592
19.2.3 封装一款针对当前游戏的Q版字体 593
19.2.4 具体的实现方法 594
19.3 全局字体设置与浏览器兼容问题 596
19.3.1 管理全局字体 596
19.3.2 解决浏览器的兼容问题 597
19.4 游戏基础框架的搭建 599
19.4.1 基础配置及通讯方式 599
19.4.2 游戏信息类的定义 600
19.4.3 游戏主类的编写 602
19.5 界面制作举例 607
19.5.1 背景的渲染 607
19.5.2 Loading界面的制作 607
19.5.3 游戏面板背景的绘制 610
19.6 本章小结 613
第20章 看你有多溅——基于多线程的“服务端技术” 615
20.1 线程管理单元的创建与使用 615
20.1.1 线程单元的接口和基类 616
20.1.2 线程单元接收器的接口和基类 618
20.1.3 用线程单元渲染火焰动画 619
20.1.4 火焰动画图片的接收与存储 620
20.1.5 水波动画的渲染 621
20.1.6 用线程单元绘制Q版字体 623
20.1.7 Q版字体的接收和存储 625
20.2 线程管理器的实现 626
20.2.1 主线程管理器的基本结构 626
20.2.2 主线程管理器的数据分发 627
20.2.3 子线程管理器的基本结构 628
20.2.4 子线程管理器的单元管理 629
20.3 管理界面 632
20.3.1 将相关界面添加到显示列表 632
20.3.2 显示子线程的处理进度 633
20.4 本章小结 634
第21章 看你有多溅——游戏主体与核心技术 635
21.1 游戏主体部分的制作 635
21.1.1 游戏主体部分的组成 635
21.1.2 位图动画类的书写 636
21.1.3 游戏主界面的构建及水波动画的添加 637
21.1.4 水波跳跃动画和水花的制作 637
21.2 游戏核心技术精讲 639
21.2.1 水珠与石山的碰撞检测及运动轨道的变更 639
21.2.2 水珠与火焰的碰撞检测方案 643
21.2.3 基于向量的线段相交算法 644
21.2.4 向量碰撞检测的实现 646
21.2.5 火箭坠落的处理 648
21.3 为游戏锦上添花 648
21.3.1 道具效果的设计及规划 648
21.3.2 玩家如何操作道具 651
21.3.3 悬浮字体特效的制作 654
21.4 本章小结 656