第四章 渲染技术Ⅱ[FL 基理译]
2009-05-30 12:08:30 来源:WEB开发网在使用 Matrix 类时有一点复杂,这里有一个特殊的方法用于创建渐变填充的矩阵类型,这个方法名为 createGradientBox,必要参数为 width 和 height,可选参数为 rotation 及渐变的起点的 x,y 位置。首先创建一个 Matrix 类的实例,然后调用它的 createGradientBox 方法自动设置内部参数值。形式如下:
var matrix:Matrix = new Matrix();
matrix.createGradientBox(width, height, rotation, x, y);
不要忘记在类的开始处导入 flash.geom.Matrix 类。如果仅指定 width 和 height,最后三个值默认为 0。来看一下代码,这里是文档类 GradientFill.as:
package {
import flash.display.GradientType;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.geom.Matrix;
public class GradientFill extends Sprite {
public function GradientFill() {
init();
}
private function init():void {
graphics.lineStyle(1);
var colors:Array = [0xffffff, 0xff0000];
var alphas:Array = [1, 1];
var ratios:Array = [0, 255];
var matrix:Matrix = new Matrix();
matrix.createGradientBox(100, 100, 0, 0, 0);
graphics.beginGradientFill(GradientType.LINEAR, colors,
alphas, ratios, matrix);
graphics.drawRect(0, 0, 100, 100);
graphics.endFill();
}
}
}
测试影片后,会看到一个从白色到红色渐变的正方形。现在,我们改变一下绘图代码,在不同的地方绘制这个正方形(见 GradientFill2.as):
graphics.drawRect(100, 100, 100, 100);
更多精彩
赞助商链接