Action Script 3.0 绘制渐变线条和填充
graphics对象可以绘制渐变线条和填充。渐变线条是使用lineGradientStyle()方法创建的;渐变填充是使用beginGradientFill()方法创建的。
1.绘制渐变线条
lineGradientStyle()方法指定一条线条样式的渐变。Flash Player可将该渐变应用于随后调用对象的其它Graphics方法(如lineTo()或drawRect())。线条样式仍然有效,直至使用不同的参数调用lineStyle()方法或lineGradientStyle()方法为止。
lineGradientStyle()方法接受以下参数:
●type 字符串,用于指定线条的渐变类型。可用GradientType类的值:
GradientType.LINEAR或GradientType.RADIAL。
●colors 指定在渐变中使用RGB十六进制颜值数组(例如,红为0xFF0000,
蓝为0x0000FF等)。
●alphas colors数组中对应颜的alpha值数组,有效值为0到100。
●ratios 颜分布比率的数组,有效值为0到255。该值定义100%采样的颜所
在位置的宽度百分比,值0表示渐变框中的左侧位置,255表示渐变框中的右侧
位置。
●Matrix对象,定义要应用到渐变的转换。
●spreadMethod 字符串,用于指定渐变填充的模式。可用SpreadMethod类的值:
SpreadMethod.PAD、SpreadMethod.REFLECT或SpreadMethod.REPEAT。
渐变颜代码大全●interpolationMethod 用于指定线条渐变模式。可用InterpolationMethod类的值:
InterpolationMethod.LINEAR_RGB或InterpolationMethod.RGB。
●focalPointRatio 一个控制渐变的焦点位置的数字。值0表示焦点位于中心;值1
表示焦点位于渐变圆的一条边界上;值-1表示焦点位于渐变圆的另一条边界上。
例如,指示名称为myLine的Shape对象绘制一个由红蓝渐变线条组成的三角形,代码如下所示。
var type:String = GradientType.LINEAR; //设置渐变类型
var colors:Array = [0xFF0000,0x0000FF]; //创建渐变颜值数组
var alphas:Array = [100,100]; //创建透明度数组
var ratios:Array = [0,255]; //创建颜比率数组
var matrix:Matrix = new Matrix();
//创建转换矩阵
var spreadMethod:String = SpreadMethod.REFLECT; //设置渐变填充的模式
var interpolationMethod =InterpolationMethod.LINEAR_RGB; //设置线条渐变模式
var focalPointRatio = 1; //设置渐变焦点的位置
var myLine:Shape = new Shape(); //创建名称为myLine的Shape对象
//设置线条渐变样式
//绘制线条
addChild(myLine); //将myLine实例加入到显示列表
2.绘制渐变填充
beginGradientFill()方法指定一种渐变填充。Flash Player可将该填充应用到随后调用对象的其它Graphics方法(如lineTo()或drawRect())。该填充将保持有效,直至调用beginFill()、beginGradientFill()或beginBitmapFill()方法为止。另外,在调用endFill()方法之前,Flash Player不会呈现填充。
beginGradientFill()方法接受的参数与lineGradientStyle()方法相同。下面将指示名称为myRound的Shape对象绘制一个以放射关渐变方式为填充的圆形,代码如下所示。
var type:String = GradientType.RADIAL; //设置渐变类型
var colors:Array = [0x00FF00, 0x000088]; /创建置渐变颜值数组
var alphas:Array = [1, 1]; //创建透明度数组
var ratios:Array = [0, 255]; //创建颜比率数组
var spreadMethod:String = SpreadMethod.PAD; //设置渐变填充的模式
var interpolationMethod:String = InterpolationMethod.LINEAR_RGB; //设置线条渐变模式
var focalPointRatio:Number = 0; //设置渐变焦点的位置
var matrix:Matrix = new Matrix();
//创建转换矩阵
var myRound:Shape = new Shape; //创建名称为myRound的Shape对象
addChild(myRound); //将myRound实例加入到显示列表
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论