是否可以通过 Javascript 在 Adobe Animate CC HTML5/Canvas 项目中分配遮罩?
Is it possible to assign masks in an Adobe Animate CC HTML5/Canvas project via Javascript?
我已经进行了一些挖掘,但找不到任何关于此的明确文档。当用户点击舞台时,我想从库中拉出一个符号 A 的实例并将其放置在舞台上,然后拉出一个符号 B 的实例并将其指定为遮罩。
我确定符号 B 是一个 "valid" 面具,因为它只包含一个形状。
在过去,这很简单:
symbolAInstance.mask = symbolBInstance;
有什么方法可以使用 JS/CreateJS 完成此操作?
谢谢!
MovieClips不能在CreateJS中直接用作遮罩,只能Shapes/Graphics。
http://createjs.com/docs/easeljs/classes/DisplayObject.html#property_mask
如果您想使用位图或影片剪辑等更复杂的东西,这是可能的,但它需要几个步骤,并且有局限性。
- 缓存要用作蒙版的 MovieClip
- 在"masked"剪辑上创建一个AlphaMaskFilter指向遮罩剪辑的
cacheCanvas
(缓存生成的位图)
- 缓存 "masked" 剪辑以应用滤镜。
AlphaMaskFilters 的文档有一个简单的示例。 http://createjs.com/docs/easeljs/classes/AlphaMaskFilter.html
其中一个主要限制是,如果您更改蒙版或蒙版剪辑(播放时间轴、更改大小等),则必须重新缓存任何更改。因此,如果蒙版发生变化,蒙版和蒙版剪辑都需要重新缓存。这样做来制作蒙版动画是非常昂贵的,应尽可能避免。
希望对您有所帮助。
我已经进行了一些挖掘,但找不到任何关于此的明确文档。当用户点击舞台时,我想从库中拉出一个符号 A 的实例并将其放置在舞台上,然后拉出一个符号 B 的实例并将其指定为遮罩。
我确定符号 B 是一个 "valid" 面具,因为它只包含一个形状。
在过去,这很简单:
symbolAInstance.mask = symbolBInstance;
有什么方法可以使用 JS/CreateJS 完成此操作?
谢谢!
MovieClips不能在CreateJS中直接用作遮罩,只能Shapes/Graphics。 http://createjs.com/docs/easeljs/classes/DisplayObject.html#property_mask
如果您想使用位图或影片剪辑等更复杂的东西,这是可能的,但它需要几个步骤,并且有局限性。
- 缓存要用作蒙版的 MovieClip
- 在"masked"剪辑上创建一个AlphaMaskFilter指向遮罩剪辑的
cacheCanvas
(缓存生成的位图) - 缓存 "masked" 剪辑以应用滤镜。
AlphaMaskFilters 的文档有一个简单的示例。 http://createjs.com/docs/easeljs/classes/AlphaMaskFilter.html
其中一个主要限制是,如果您更改蒙版或蒙版剪辑(播放时间轴、更改大小等),则必须重新缓存任何更改。因此,如果蒙版发生变化,蒙版和蒙版剪辑都需要重新缓存。这样做来制作蒙版动画是非常昂贵的,应尽可能避免。
希望对您有所帮助。