这是我在这里的第一篇文章,所以我希望我能做对 - 并找到我的问题的答案。
在 Flash AS3 中,我在一个矩形中创建了一个动态渐变。我需要渐变旋转 26 度。我的问题是旋转似乎根据我的矩形的宽度/高度而变化。无论我将它应用到什么大小的矩形,我都需要旋转为真正的 26 度。
这是我正在使用的代码:
var rect:Shape=new Shape();
this.addChild(rect);
rect.x=40;
rect.y=70;
var rectWidth:Number=200;
var rectHeight:Number=100;
drawShapes();
function drawShapes():void {
var mat:Matrix;
var colors:Array;
var alphas:Array;
var ratios:Array;
//We proceed to draw 'rect'.
mat=new Matrix();
colors=[0xFF0000, 0x00FF00, 0x001eff];
alphas=[1,1,1];
ratios=[0,120,255];
mat.createGradientBox(rectWidth,rectHeight,toRad(26));
rect.graphics.lineStyle();
rect.graphics.beginGradientFill(GradientType.LINEAR,colors,alphas,ratios,mat);
rect.graphics.drawRect(0,0,rectWidth,rectHeight);
rect.graphics.endFill();
}
function toRad(a:Number):Number {
return a*Math.PI/180;
}