·您当前的位置:首页 > 技术教程 > AS2与AS3技术 >

[AS3]as3渐变填充(放射性填充)的写法

时间:2014-10-31 16:18酷播
[AS3]as3渐变填充的写法,[AS3]as3渐变填充(放射性填充)的写法

那是因为渐变填充默认的起始点是(0, 0),也就是说,放射性填充的中心点是在所要绘制的对象的左上角,而楼主所绘制的矩形位于(100, 100)的位置,所以只能填充到最外面的黑色。
需要给渐变填充传入一个转换矩阵,将填充的中心点移到矩形的中间:

  1. var container:Sprite = new Sprite(); 
  2. addChild(container); 
  3.  
  4. //CuPlayer.com转换矩阵 
  5. var matr:Matrix = new Matrix(); 
  6. matr.createGradientBox(300, 150, 0, 100, 100); 
  7.  
  8. container.graphics.lineStyle(4,0xff0000); 
  9. //container.graphics.beginFill(0x00ff00,1); 
  10. container.graphics.beginGradientFill(GradientType.RADIAL,[0xff0000,0x00ff00,0x000000],[1,1,1],[0,10,200], matr); 
  11. 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)的位置,因为是放射性填充,所以填充角度多少都没所谓。

热门文章推荐

请稍候...

保利威视云平台-轻松实现点播直播视频应用

酷播云数据统计分析跨平台播放器