Javascript 将PIXI精灵从纹理放置到循环中

Javascript 将PIXI精灵从纹理放置到循环中,javascript,pixi.js,Javascript,Pixi.js,当对象中的某个项目具有特定值时,我将纹理中的图像放置在容器上 我的代码确实在我想要的每个位置放置了一个图像,但我的问题是,每个图像都是相同的。因为到处显示的图像是阵列中的最后一个,我猜我的循环方式有问题,另一方面,我尝试了各种不同的循环方式,结果对我来说从来没有什么不同。也许我用错了PIXI const texture=PIXI.utils.TextureCache.skills const values=Object.values(treeData.nodes).filter(obj=>{ 返

当对象中的某个项目具有特定值时,我将纹理中的图像放置在容器上

我的代码确实在我想要的每个位置放置了一个图像,但我的问题是,每个图像都是相同的。因为到处显示的图像是阵列中的最后一个,我猜我的循环方式有问题,另一方面,我尝试了各种不同的循环方式,结果对我来说从来没有什么不同。也许我用错了PIXI

const texture=PIXI.utils.TextureCache.skills
const values=Object.values(treeData.nodes).filter(obj=>{
返回obj.isKeystone===true
})
values.forEach(节点=>{
const spriteData=treeData.skillSprites.keysteniNactive[3]。coords[node.icon]
//如果我在这里控制我的spriteData,它看起来很好,每次我都会得到不同的数据
const rectangle=new PIXI.rectangle(spriteData.x,spriteData.y,spriteData.w,spriteData.h)
texture.frame=矩形
const image=新的PIXI.Sprite(纹理)
image.anchor.set(0.5)
image.x=node.x
image.y=node.y
spriteContainer.addChild(图像)
})

也许你还需要制作一个新的纹理?否则,您只需不断重置相同纹理的帧

const frame = new PIXI.Rectangle(spriteData.x, spriteData.y, spriteData.w, spriteData.h)
const newTexture = new PIXI.Texture(texture, frame)
const image = new PIXI.Sprite(newTexture)