PIXI 渲染纹理"use RenderTexture.create instead of the ctor directly"警告



在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 没有引用我的图形。

下面是一个示例,它从图形生成纹理而不发出警告

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

相关内容

  • 没有找到相关文章

最新更新