首先,求求我的英语。
我正在CreateJS库上使用WebGL处理某些图片。我需要在用于创建Spritsheet的jpg上应用自定义滤色器。
这是我的代码:
let bmp = new createjs.Bitmap(rscTexture);
bmp.filters = [new createjs.AlphaFilter()];
bmp.cache(0, 0, rscTexture.width, rscTexture.height, {1, useGL:"stage"});
let frames = this.generateFrames();
this.sprite = new createjs.Sprite( new createjs.SpriteSheet({
framerate: 24,
"images": [bmp.cacheCanvas],
"frames": frames,
"animations": {
"run": [0, frames.length - 1],
}
}));
问题在于,这将引发下一个错误:
ERROR由于对象的父阶段,无法使用'stage'进行缓存 未设置,请将addChild设置到正确的阶段。
如果仍然不创建元素,如何将其首先添加到舞台中?
答案 0 :(得分:2)
如果您已经存在一个StageGL实例,则可以直接传递它。 “阶段”快捷方式试图弄清楚;但是,有时您需要具体说明,直接传递引用是唯一的解决方案。
bmp.cache(0, 0, rscTexture.width, rscTexture.height, 1, { useGL: myStage });
具体和完整的文档可以在这里找到: https://createjs.com/docs/easeljs/classes/BitmapCache.html#method_define