欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

[转]as3如何进行径向渐变填充

程序员文章站 2022-05-08 17:58:01
...
[url=http://bbs.9ria.com/viewthread.php?tid=15710]http://bbs.9ria.com/viewthread.php?tid=15710[/url]


as3如何进行径向渐变填充有直线渐变的,怎么就没看到径向的渐变填充呢


我想在一个圆角矩形中由矩形中心(从里到外)进行径向颜色渐变填充,感觉好难啊,参数搞来搞去搞不对头,晕了


var child:Shape = new Shape();
var alphas:Array = [1, 1];
var colors:Array = [0xFF0000, 0x0099FF];
var ratios:Array = [80, 255];
child.graphics.beginGradientFill(GradientType.RADIAL, colors, alphas, ratios);
// 绘制圆角矩形
child.graphics.drawRoundRect(50, 50, 350, 180, 20, 20);
// 结束绘制
child.graphics.endFill();

addChild(child);




//简单方法, 把注册点移动中心.
var child:Shape = new Shape();
var alphas:Array = [1, 1];
var colors:Array = [0xFF0000, 0x0099FF];
var ratios:Array = [80, 255];

child.graphics.beginGradientFill(GradientType.RADIAL, colors, alphas, ratios);
// 绘制圆角矩形
child.graphics.drawRoundRect(-175, -90, 350, 180, 20, 20);
// 结束绘制
child.graphics.endFill();
child.x=175
child.y=90
addChild(child);


//标准方法使用转换矩阵
var child:Shape = new Shape();
var alphas:Array = [1, 1];
var colors:Array = [0xFF0000, 0x0099FF];
var ratios:Array = [80, 255];
var matrix:Matrix=new Matrix()
matrix.createGradientBox (350,180) //在这里设置填充的宽高
child.graphics.beginGradientFill(GradientType.RADIAL, colors, alphas, ratios,matrix);
// 绘制圆角矩形
child.graphics.drawRoundRect(0, 0, 350, 180, 20, 20);
// 结束绘制
child.graphics.endFill();
addChild(child);



明白了,太感谢楼上了
只是填充的两种颜色过渡不柔和,我再调调参数

我是想用这种填充的方法设置舞台的背景,不知道用这种方法性能上会不会好,我本来是用PS画个渐变填充的图片导进来做背景,但有两点不好,一加画片速度慢,二就是不易伸缩舞台(伸缩图片就变糊了)

因为画片很简单就是两种颜色的渐变效果,所以想到用graphics填充,不知道这种思路是否正确,刚学as,到处碰钉子,有劳各位前辈了
相关标签: PHP BBS