PIXI RenderTexture"直接使用RenderTexture.create代替ctor"警告

时间:2018-05-19 07:46:59

标签: canvas sprite pixi.js render-to-texture pixijs

在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中,如下所示:

app.stage.addChild(sprite)

通过这样的设置我得到警告:

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

您能否提供一些提示,如何重构代码,以便与RenderTexture.create内联?

docs我找到了例子:

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

但它从图像渲染精灵不是从图形渲染,而且renderTexture没有引用我的图形。

1 个答案:

答案 0 :(得分:1)

以下示例是从图形生成纹理而没有警告

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