我想用另一个图像mask.png遮罩png图像pattern.png,但它根本不起作用,我也找不到原因。代替遮罩图像,遮罩只是消失了,图案保持了原来的状态。
我尝试制作MovieClip,例如一个圆圈,然后将其用作mask而不是mask.png,效果很好。是因为您不能使用加载程序对象作为掩码吗?我该如何运作?
edit:将mask.png的大小更改为小于图案后,我意识到它实际上可以完成某种工作,但是发生的是将图案切成我在图形中绘制的形状,而不是png文件只将其切成整个文件的形状,因为它也计算矩形透明背景。我如何才能将其切出形状?
var mask:Loader = new Loader();
mask.load(new URLRequest("mask.png"));
var pattern:Loader = new Loader();
pattern.load(new URLRequest("pattern.png"));
pattern.contentLoaderInfo.addEventListener(Event.COMPLETE, loadComplete);
function loadComplete(e:Event):void {
addChild(pattern);
addChild(mask);
pattern.mask = mask;
}
答案 0 :(得分:0)
您的代码看起来正确。 DisplayObject的mask属性也需要DisplayObject。但是,尝试做一些事情,找出麻烦所在:
* Ah,还有一件事。您必须首先添加侦听器,然后再尝试加载。