PIXI RenderTexture "использовать RenderTexture.create вместо ctor напрямую" предупреждение - PullRequest
0 голосов
/ 19 мая 2018

В PIXI.js я создаю текстуру из пользовательской графики для использования в качестве спрайта (поэтому я могу добавить к ней интерактивность. Код выглядит следующим образом:

function makeTextureFromGraphics(props) {
  const gfx = new PIXI.Graphics()
  gfx.beginFill(props.fill)
  /* ...make my graphics here... */
  gfx.endFill()

  const texture = new PIXI.RenderTexture(app.renderer, props.size , props.size)
  texture.render(gfx)
  return texture
}

Затем я создаю текстуру сНастроить реквизиты и создать спрайт:

const myTexture = makeTextureFromGraphics(myprops)
const sprite = new PIXI.Sprite(myTexture)
sprite.on('pointerup', pointerUpCallback)

Затем я добавляю спрайт в приложение примерно так:

app.stage.addChild(sprite)

При такой настройке я получаю предупреждение:

Please use RenderTexture.create(10, 10) instead of the ctor directly.

Не могли бы вы подсказать, как выполнить рефакторинг кода, чтобы он был встроен в RenderTexture.create?

В документах Я нашел пример:

let renderTexture = PIXI.RenderTexture.create(800, 600);
let sprite = PIXI.Sprite.fromImage("spinObj_01.png");
renderer.render(sprite, renderTexture);

но он отображает спрайт из изображения, а не из графики, более того, renderTexture не имеет отношения к моей графике.

1 Ответ

0 голосов
/ 31 мая 2018

Вот пример, который генерирует текстуру из графики без предупреждений

var graphics = new PIXI.Graphics();
graphics.beginFill(0xff22aa);
graphics.drawRect(0, 0, 50, 50);
graphics.endFill();

var texture = app.renderer.generateTexture(graphics);

var sprite = new PIXI.Sprite(texture);
app.stage.addChild(sprite);

https://repl.it/@CurlyBrace/PixiTexture

...