7.13.用渐变色填充图形

问题
我要用渐变色填充图形
解决办法
使用beginGradientFill( )和endFill( )方法完成渐变填充
讨论
渐变色填充是用多种颜色之间的渐变层次来做填充色。Flash支持线形渐变,就是左边的颜色渐变到右边的颜色(这是水平渐变,也可以垂直渐变),或者指定旋转角度。Flash也支持放射渐变,它是从中心到四周渐变颜色。通过beginGradientFill( )启动渐变填充,它的参数有:
gradientType
flash.display.GradientType类常量,为LINEAR或RADIAL。
colors
RGB 值的数组
alphas
透明度值数组
ratios
根据颜色和透明度指定最后的纯度,范围为0到255。
matrix
flash.geom.Matrix 对象定义用于渐变的转换。默认为1x1的渐变转换来填充图形。Matrix类定义了createGradientBox( )方法,它接受以下参数:
scaleX
水平缩放比
scaleY
垂直缩放比
rotation
旋转角度,可以把角度转换为弧度,公式为Math.PI/180;默认为0
tx
x方向的转换数量,默认为0
ty
y方向的转换数量,默认为0
spreadMethod
flash.display.SpreadMethod 类常量,有PAD, REFLECT, 和REPEAT。默认为PAD。
interpolationMethod
flash.display.InterpolationMethod类常量,有LINEAR_RGB和RGB。默认为RGB。插补方法影响颜色渐变。
focalPointRatio
改值范围从-1 到1 指示渐变的焦点(对线形渐变无效)。默认为0,也就是位于中点。
下面的例子画出一个渐变填充圆:
+展开
-ActionScript
var matrix:Matrix = new Matrix( );
matrix.createGradientBox(100, 100, 0, 50, 50);
var colors:Array = [0xFF0000, 0x0000FF];
var alphas:Array = [100, 100];
var ratios:Array = [0x00, 0xFF];
sampleSprite.graphics.lineStyle( );
sampleSprite.graphics.beginGradientFill(GradientType.GRADIENT, colors, alphas, ratios, matrix);
sampleSprite.graphics.drawCircle(100, 100, 50);
sampleSprite.graphics.endFill( );

加支付宝好友偷能量挖...


评论(0)网络
阅读(139)喜欢(0)flash/flex/fcs/AIR