7.15.编写遮罩

问题
我要创建遮罩
解决办法
使用DisplayObject.mask.
讨论
遮罩可用来创建唯一的图形或视觉效果。例如,可以创建擦除和过渡效果。还可以创建有趣的动画效果,甚至是图形扭曲效果。

任何可视化对象都可以作为任一对象的遮罩,下面的代码把sampleSprite 的遮罩设置为maskSprite:
+展开
-ActionScript
sampleSprite.mask = maskSprite;

下面的例子画了两个图形,一个作为遮罩。注意,两个对象都要通过addChild( )方法添加到显示列表。虽然遮罩即使不添加到显示列表也能正常工作,不过还是建议你添加到显示列表:
+展开
-ActionScript
var maskSprite:Sprite = new Sprite( );
var pen:Pen = new Pen(maskSprite.graphics);
pen.beginFill(0xFFFFFF);
pen.drawArc(100, 100, 50, 80, 20, true);
pen.endFill( );
var maskedSprite:Sprite = new Sprite( );
maskedSprite.graphics.lineStyle( );
maskedSprite.graphics.beginFill(0xFF0000);
maskedSprite.graphics.drawRect(0, 0, 200, 200);
maskedSprite.graphics.endFill( );
maskedSprite.mask = maskSprite;
addChild(maskedSprite);
addChild(maskSprite);

下面的例子演示遮罩跟随鼠标移动。通过载入的图片指定遮罩,该遮罩跟着鼠标移动:
+展开
-ActionScript
var loader:Loader = new Loader( );
loader.load(new URLRequest("http://www.rightactionscript.com/samplefiles/image2.jpg"));
addChild(loader);
var maskSprite:Sprite = new Sprite( );
maskSprite.graphics.lineStyle( );
maskSprite.graphics.beginFill(0xFFFFFF);
maskSprite.graphics.drawCircle(0, 0, 50);
maskSprite.graphics.endFill( );
loader.mask = maskSprite;
addChild(maskSprite);
maskSprite.startDrag(true);

加支付宝好友偷能量挖...


评论(0)网络
阅读(91)喜欢(0)flash/flex/fcs/AIR