动画 CC 画布和遮罩

Posted

技术标签:

【中文标题】动画 CC 画布和遮罩【英文标题】:Animate CC Canvas And Masking 【发布时间】:2018-04-15 05:04:09 【问题描述】:

我想知道如何在将充当蒙版的影片剪辑中使用动画形状?

在我的 Animate CC 画布文件中,我有一个实例 (stripeMask),它应该掩盖下面称为 mapAnim 的实例。

stripeMask 包含动画形状。

因此,当调用函数 maskIn 时,播放头应该移动到 stripeMask 剪辑内的第一帧(第 0 帧之后的帧)并像这样为蒙版设置动画:

 function maskIn()
 //maskAnimation to reveal image below
 stripeMask.gotoAndPlay(1);
 

我喜欢 AnimateCC,它工作得很好,但是需要创建更复杂的动画蒙版,除非我在这里遗漏了一些东西,否则实现起来并不容易。

谢谢!

【问题讨论】:

【参考方案1】:

目前您只能将 Shape 用作 mask,而不是 Container 或 MovieClip。

如果你想做更复杂的事情,你可以使用AlphaMaskFilter之类的东西,但它必须被缓存,然后在每次掩码或内容更新时更新:

something.filters = [new createjs.AlphaMaskFilter(stripeMask)];
something cache(0,0,w,h);
// On Change
something.updateCache(); // Re-caches

AlphaMaskFilter 的源必须是图像,因此您可以指向位图图像,或者您还缓存的蒙版剪辑的cacheCanvas。请注意,如果掩码更改,则缓存也必须更新。

诚然,这不是一个很好的解决方案,我们正在研究其他选项。

【讨论】:

以上是关于动画 CC 画布和遮罩的主要内容,如果未能解决你的问题,请参考以下文章

使用ivx滑动时间轴制作动画效果的经验总结

在 Core Animation 中为圆形箭头遮罩的长度设置动画

在动画 cc 中停止 HTML5 画布中的声音

画布中的动画剪贴蒙版

模拟layui弹出层

如何使用CSS和SVG剪切和遮罩技术