我已经进行了一些挖掘,但找不到任何明确的文档。当用户单击舞台时,我想从库中拉出符号 A 的实例并将其放置在舞台上,然后拉出符号 B 的实例并将其分配为掩码。
我确信符号 B 是一个“有效”的面具,因为它只包含一个形状。
在过去,这很简单:
symbolAInstance.mask = symbolBInstance;
有什么方法可以使用 JS/CreateJS 实现这一点?
谢谢!
我已经进行了一些挖掘,但找不到任何明确的文档。当用户单击舞台时,我想从库中拉出符号 A 的实例并将其放置在舞台上,然后拉出符号 B 的实例并将其分配为掩码。
我确信符号 B 是一个“有效”的面具,因为它只包含一个形状。
在过去,这很简单:
symbolAInstance.mask = symbolBInstance;
有什么方法可以使用 JS/CreateJS 实现这一点?
谢谢!
在 CreateJS 中,MovieClips 不能直接用作遮罩,只能用作 Shapes/Graphics。 http://createjs.com/docs/easeljs/classes/DisplayObject.html#property_mask
如果你想使用更复杂的东西,比如位图或影片剪辑,这是可能的,但它需要几个步骤,并且有局限性。
cacheCanvas
(缓存生成的位图)AlphaMaskFilters 的文档有一个简单的示例。http://createjs.com/docs/easeljs/classes/AlphaMaskFilter.html
主要限制之一是,如果您更改蒙版或蒙版剪辑(播放时间线、更改大小等),则必须重新缓存任何更改。因此,如果遮罩发生变化,遮罩和遮罩剪辑都需要重新缓存。这样做以动画蒙版非常昂贵,应尽可能避免。
希望有帮助。