【发布时间】:2021-12-21 12:32:19
【问题描述】:
我有一个符号 S1,它有两种形状(比如说 sh0 和 sh1)。在舞台上,我有另一个符号 mc 的实例。在运行时,我将创建符号 S1 的实例 mc1。使用createjs,如何使用mc1作为mc的掩码?
【问题讨论】:
标签: masking
我有一个符号 S1,它有两种形状(比如说 sh0 和 sh1)。在舞台上,我有另一个符号 mc 的实例。在运行时,我将创建符号 S1 的实例 mc1。使用createjs,如何使用mc1作为mc的掩码?
【问题讨论】:
标签: masking
我假设当您说“符号”时,您指的是 Adobe Animate 中的图形或影片剪辑。不幸的是,您只能使用 CreateJS“形状”as a mask directly。有几个选项:
自己将形状组合成一个。
结合说明。这有点脏,但理论上您可以将图形指令从一种形状连接到另一种形状。我怀疑如果 Shape 实例具有不同的 x/y 位置,这会出现问题。
symbol.shape1.graphics._instructions.concat(symbol.shape2.graphics._instructions);
var box = yourSymbol;
box.cache(0, 0, 100, 100);
var bmp = new createjs.Bitmap("path/to/image.jpg");
bmp.filters = [
new createjs.AlphaMaskFilter(box.cacheCanvas)
];
bmp.cache(0, 0, 100, 100);
第 3 个可能是您最好的选择,但由于使用了过滤器(特别是在内容发生变化并且您必须不断更新它时),它会受到限制并且可能会占用大量性能。
请随时发布有关您正在使用的产品的更多详细信息,以获得更好的推荐。
干杯。
【讨论】: