第四章 渲染技术Ⅱ[FL 基理译]
2009-05-30 12:08:30 来源:WEB开发网这里每一个参数都是一个数组,因为需要传入至少两个以上的 colors,alphas 及 ratios。我们可以先创建一个数组,然后写入每一个参数的值,如下:
var colors:Array = new Array();
colors[0] = 0xffffff;
colors[1] = 0x000000;
下面是一个更简单作法,我们可以在创建数组的同时,为数组的每个元素赋值,直接写在方括号中,以逗号作为分隔:
var colors:Array = [0xffffff, 0x000000];
事实上,我们甚至可以不去使用 colors 变量。直接把右边的数组写入 beginGradientFill 表达式中作为参数。因此,可以写成这样:
graphics.beginGradientFill(GradientType.LINEAR,
[0xffffff, 0x000000],
[1, 1],
[0, 255],
matrix);
这里定义了两个颜色值,两个 alpha 值(均为 100%)和比例值的开始位置与结束位置,所以渐变将以白色为开始最后逐渐变化为黑色。当然,也可以为每个参数设置一个对应的变量,如果定义了很多个颜色值的话,这样写会更清楚些。如果定义了三个颜色值,就必需有三个 alpha 值和三个比例值与之对应。如果有某些值多了或少了,那么就会引起会静默失败——没有渐变,没有填充,没有错误信息。
下面只需要设置一下填充的起点、终点或角度了。也许大家已经猜到了,这就是神秘的matrix(矩阵) 参数。
创建矩阵
矩阵(Matrix)就是一个二维表格,每行每列中包括不同的数,可以出计算不同的值。矩阵此外还用于绘图(graphics)中,用作旋转,缩放和移动物体。在这里,用于对渐变的控制,我们需要为填充进行定位,设置它的大小,或是进行旋转。使用 matrix 时,需要创建一个 matix 对象,这是一个 flash.geom.Matrix 类的对象。(实际上, Matrix 类不仅用于操作渐变填充,但这里我们只介绍它在渐变中的应用。第18章中介绍了更多的矩阵使用)。
更多精彩
赞助商链接