如何使用libGDX更改Scene2D图像中的纹理?

12
1个回答

21
你需要更改可绘制对象,并将新的纹理包装在 SpriteDrawable 中。
Texture texture = ...;
Image image = new Image(texture);

// switch to a new texture
Texture newTexture = ...;
image.setDrawable(new SpriteDrawable(new Sprite(newTexture)));

1
基于此,((SpriteDrawable)image.getDrawable()).getSprite().setTexture(newTexture); 也能起作用吗? - Saturn
如果您通过Texture构造函数创建图像,则不会起作用,因为它将是一个TextureRegionDrawable而不是SpriteDrawable。 - noone
那我应该使用你发布的方法吗?我只是想避免创建新对象,但我想这并不重要。 - Saturn
1
嗯,不是要打击你的积极性,但他们为什么不直接为Image类创建一个.setTexture函数呢? - Parampal Pooni
然后他们还需要添加一个setTextureRegion,一个setSprite,也许还有一个setPixmap等等...你明白我的意思。 - noone

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接