Проблема использования фильтров и спрайтов в контексте StageGL - PullRequest
0 голосов
/ 30 августа 2018

Прежде всего, извините мой английский.

Я работаю с некоторыми спрайтами, используя WebGL в библиотеке CreateJS. Мне нужно применить пользовательский цветной фильтр над 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],
  }
}));

Проблема в том, что эта ошибка следующая:

ОШИБКА Невозможно использовать «stage» для кэша, потому что родительский этап объекта не установлен, пожалуйста, добавьте ребенка в правильную стадию.

Как я могу добавить элемент на сцену первым, если я все еще не создал его?

1 Ответ

0 голосов
/ 30 августа 2018

Если у вас уже есть экземпляр StageGL, вы можете вместо этого передать его напрямую. Сокращение «стадии» пытается понять это; однако иногда вам нужно быть конкретным, и прямая передача ссылки - единственное решение.

bmp.cache(0, 0, rscTexture.width, rscTexture.height, 1, { useGL: myStage });

Конкретную и полную документацию можно найти здесь: https://createjs.com/docs/easeljs/classes/BitmapCache.html#method_define

...