PIXI V5 PIXI.Loader () Не удается добавить в контейнер изображений - PullRequest
0 голосов
/ 11 декабря 2019

Я использую PIXI V5, но не могу добавить к контейнеру изображения ...

const app = new PIXI.Application({
  view: document.getElementById('main'),
});

const container = new PIXI.Container();
app.stage.addChild(container);


const loader = new PIXI.Loader();
loader
  .add('imgtest','https://fakeimg.pl/100/')
  .load((loader, resources) => {
    const sprite = new PIXI.Sprite(loader.resources.imgtest.texture);
    container.addChild(sprite);
  });

Пытаюсь console.log(loader.resources.imgtest.texture) не определено ...

Ответы [ 2 ]

0 голосов
/ 12 декабря 2019

Pixi v5 не использует тот же API, что и в предыдущих версиях, и у них уже есть загрузчик в классе приложения, к которому вы можете получить доступ с помощью PIXI.Loader.shared. Вы можете присвоить его переменной, но я просто использую в своем приложении ниже:

PIXI.Loader.shared
    .add('myImage', 'assets/myImage.png')
    .load((loader, resources) => {
        const sprite = new PIXI.Sprite(resources.myImage.texture);
        container.addChild(sprite);
 });

С этим синтаксисом вы сопоставляете изображение с идентификатором, который вы даете в качестве первого аргумента.

0 голосов
/ 12 декабря 2019

Загруженная текстура не была бы доступна при первоначальной визуализации сцены, поэтому добавьте: const renderer = PIXI.autoDetectRenderer(); и вызовите renderer.render(container); после загрузки изображения.

Кстати, вы можете использовать new PIXI.Sprite(resources.imgtest.texture), пропуская loader.

Кроме того, я не уверен, будет ли сгенерированное изображение без расширения .png или jpg работать через pixi.

...