如何使用 Easel.js 在 Flash CC 中应用 alphaMaskFilter?

How to apply the alphaMaskFilter in Flash CC using Easel.js?

我正在使用 Flash CC 处理 canvas 文档,舞台上有以下标记的移动片段 mask_mc(这是一个带有 alpha 渐变的动画片段)和徽标。 objective 是为了创建一个贯穿徽标的光泽。

var mask_mc = this.mask_mc; 
mask_mc.cache(0, 0, 232, 196);

var logo = this.logo;
logo.cache(0, 0, 271, 40);

logo.filters = [
new createjs.AlphaMaskFilter(mask_mc.cacheCanvas)
];

我想做的就是模拟 alpha 渐变蒙版过去使用 AS3 所做的事情,但无法让它与上面的代码一起工作:

//Original AS3 code
mask_mc.cacheAsBitmap = true;
logo.cacheAsBitmap = true;
logo.mask = mask_mc;

谢谢!

您必须缓存(或 updateCache)在您应用过滤器之后

var logo = this.logo;
logo.filters = [
    new createjs.AlphaMaskFilter(mask_mc.cacheCanvas)
];
logo.cache(0, 0, 271, 40);

您的第二个示例将不起作用,因为 mask 属性 需要形状,并且不适用于 canvas/cache。