[ActionScript] AS3代码实现渐变遮罩效果

 1 import flash.display.Shape;
 2 import flash.display.GradientType;
 3 import flash.geom.Matrix;
 4 import flash.display.Sprite;
 5 
 6 var myShape:Shape = new Shape();
 7 var gradientBoxMatrix:Matrix = new Matrix();
 8 gradientBoxMatrix.createGradientBox(400, 400,0, 0, 0);//Math.PI*0.5是设置渐变转动90度为垂直(默认为水平,也可设任意角度)
 9 //参数填充类型,颜色数组,alpha数组,渐变比率
10 myShape.graphics.beginGradientFill(GradientType.LINEAR, [0,0,0,0], [0,1,1,0], [1,1,1,255], gradientBoxMatrix);
11 myShape.graphics.drawRect(0, 0, 400, 400);
12 myShape.graphics.endFill();
13 addChild(myShape);
14 //然后就是把此对象设为遮罩层即可
15 var spt:Sprite=new Sprite();
16 spt.graphics.beginFill(0xFFCCCC);
17 spt.graphics.drawRect(0, 0, 400, 400);
18 spt.graphics.endFill();
19 addChild(spt);
20 //设为遮罩层
21 spt.mask=myShape; 
22 //这时还没完成,如果这样是看不到效果的,必须得再设置这两个对象的cacheAsBitmap属性为true,才可以,即
23 myShape.cacheAsBitmap=true;
24 spt.cacheAsBitmap=true;
25 //设为遮罩层
26 spt.mask=myShape; 

 

posted on 2015-09-04 14:06  晏过留痕  阅读(652)  评论(0编辑  收藏  举报