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

[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,到处碰钉子,有劳各位前辈了
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值