2017-02-21 102 views
1

我已經做了一些挖掘,找不到任何明確的文件。當用戶點擊舞臺時,我想從庫中拉出符號A的實例並將其放置在舞臺上,然後拉動符號B的實例並將其分配爲掩碼。是否可以通過Javascript在Adobe Animate CC HTML5/Canvas項目中分配遮罩?

我確定符號B是一個「有效」掩碼,因爲它只是包含一個形狀。

在過去,這將是簡單的:

symbolAInstance.mask = symbolBInstance; 

任何方式來完成這項使用JS/CreateJS?

謝謝!

回答

1

影片剪輯不能直接用作CreateJS中的遮罩,只能用於形狀/圖形。 http://createjs.com/docs/easeljs/classes/DisplayObject.html#property_mask

如果您想要使用像Bitmap或MovieClip這樣更復雜的東西,這是可能的,但需要幾個步驟並且有一定的侷限性。

  1. 緩存的影片剪輯您想要作爲面膜使用
  2. 的「蒙面」夾指向面具剪輯的cacheCanvas(該由緩存生成位圖)
  3. 緩存的「蒙面」創建AlphaMaskFilter剪輯應用過濾器。

AlphaMaskFilters的文檔有一個簡單的例子。 http://createjs.com/docs/easeljs/classes/AlphaMaskFilter.html

其中一個主要限制是,如果您更改蒙版或蒙版剪輯(播放時間軸,更改大小等),則必須重新緩存任何更改。所以如果掩碼改變,掩碼和掩碼剪輯都需要重新緩存。這樣做動畫掩碼是昂貴,應儘可能避免。

希望有所幫助。