是否可以通过Javascript在Adobe Animate CC HTML5 / Canvas项目中指定蒙版?

时间:2017-02-21 02:35:50

标签: flash adobe animate-cc

我已经做了一些挖掘,但没有找到任何明确的文档。当用户点击舞台时,我想从库中拉出符号A的实例并将其放在舞台上,然后拉出符号B的实例并将其指定为蒙版。

我确信符号B是一个“有效”的掩码,因为它只包含一个形状。

在过去,这很简单:

symbolAInstance.mask = symbolBInstance;

使用JS / CreateJS完成此任何方法吗?

谢谢!

1 个答案:

答案 0 :(得分:1)

MovieClip不能直接用作CreateJS中的蒙版,只能用于形状/图形。 http://createjs.com/docs/easeljs/classes/DisplayObject.html#property_mask

如果你想使用比Bitmap或MovieClip更复杂的东西,这是可能的,但它需要几个步骤,并且有局限性。

  1. 缓存要用作蒙版的MovieClip
  2. 在“蒙面”剪辑上创建AlphaMaskFilter,指向蒙版剪辑的cacheCanvas(缓存生成的位图)
  3. 缓存“蒙面”剪辑以应用过滤器。
  4. AlphaMaskFilters的文档有一个简单的例子。 http://createjs.com/docs/easeljs/classes/AlphaMaskFilter.html

    其中一个主要限制是,如果更改蒙版或蒙版剪辑(播放时间轴,更改大小等),则必须重新缓存任何更改。因此,如果掩码更改,则需要重新缓存掩码和掩码剪辑。这样做是为了使面具动画是非常昂贵,如果可能应该避免。

    希望有所帮助。