PixiJS 8.x中TilingSprite无法渲染,普通Sprite正常显示问题
PixiJS 8.x中TilingSprite无法渲染的解决办法
你遇到的问题是TilingSprite的构造参数传值错误,导致它无法正确识别纹理资源,进而无法渲染。
在PixiJS 8.x版本中,TilingSprite的构造选项对象里,纹理对应的属性名是texture,而非你代码里写的t。普通Sprite可以直接传纹理对象作为参数,或者用{texture: 纹理对象}的格式,但TilingSprite的选项对象必须严格使用texture作为键名来指定纹理。
修正后的代码
const app = new PIXI.Application(); await app.init({ width: 1750, height: 1500 }) document.body.appendChild(app.canvas); const t = await PIXI.Assets.load('res/grasstile.jpg'); const po1 = new PIXI.Sprite(t); // 写法1:使用正确的选项对象格式 const po2 = new PIXI.TilingSprite({ texture: t, width: 1000, height: 1000 }); // 写法2:使用传统参数顺序(纹理 + 宽 + 高) // const po2 = new PIXI.TilingSprite(t, 1000, 1000); app.stage.addChild(po2); app.stage.addChild(po1);
以上两种写法任选其一,都能让TilingSprite正常渲染。
内容的提问来源于stack exchange,提问作者deko
相关产品推荐
相关产品推荐

