[AS3]as3渐变填充(放射性填充)的写法
那是因为渐变填充默认的起始点是(0, 0),也就是说,放射性填充的中心点是在所要绘制的对象的左上角,而楼主所绘制的矩形位于(100, 100)的位置,所以只能填充到最外面的黑色。
需要给渐变填充传入一个转换矩阵,将填充的中心点移到矩形的中间:
- var container:Sprite = new Sprite();
- addChild(container);
- //CuPlayer.com转换矩阵
- var matr:Matrix = new Matrix();
- matr.createGradientBox(300, 150, 0, 100, 100);
- container.graphics.lineStyle(4,0xff0000);
- //container.graphics.beginFill(0x00ff00,1);
- container.graphics.beginGradientFill(GradientType.RADIAL,[0xff0000,0x00ff00,0x000000],[1,1,1],[0,10,200], matr);
- container.graphics.drawRect(100, 100, 300, 150);
Matrix表示转换矩阵,它的createGradientBox方法的有5个参数:
第一个参数width:渐变填充范围的宽度
第二个参数height:渐变填充范围的高度
第三个参数rotation:渐变填充的角度
第四个参数tx:渐变填充的中心点在x轴上的偏移量
第五个参数ty:渐变填充的中心点在y轴上的偏移量
createGradientBox(300, 150, 0, 100, 100)
把填充范围设置为宽300、高150的矩形(宽高不同会把填充圆压扁,如果需要保持正圆,设置宽高的值一样就行了,例如把高也设置为300),并将中心点移动到(100,100)的位置,因为是放射性填充,所以填充角度多少都没所谓。
热门文章推荐
- [HLS]做自己的m3u8点播系统使用HTTP Live Streaming(HLS技术)
- [FMS]FMS流媒体服务器配置与使用相关的介绍
- [AS3]什么是M3U8,与HTML5的区别是什么
- AS2.0 让flash自适应全屏,并且不自动缩放
- [AS3]as3.0的sound类常用技巧整理
- [AS3]as3与ByteArray详解、ByteArray介绍、ByteArray用法
- 关于RTMP,RTMPT,RTMPS,RTMPE,RTMPTE协议的介绍
- [JS]分享浏览器弹出窗口不被拦截JS示例