如何使用textureregion

时间:2015-09-17 00:26:36

标签: android image libgdx drawable texture-atlas

我刚开始在我的应用中使用TexturePackerTextureAtlasTextureRegions

我目前有一个名为card的类,它扩展了Image,我希望能够将卡片上的图形设置为我的地图集。

当我创建卡片时,我可以做到这一点,因为Image的许多构造函数之一是Image(TextureRegion textureRegion)

但是,我的卡需要在游戏过程中更改图形,我需要能够从地图册中设置此图片。

我目前只能通过设置Image来找到更改Drawable的方法。

这是唯一的方法,因为有一个使用TextureRegion设置图形的构造函数,我觉得奇怪的是我不能用setter方法做同样的事情吗?

如果没有,我该怎么办呢?我可以将TextureRegion转换为Drawable吗?我是否应该将其缓存到某个地方,以便每次都将TextureRegion保存到Drawable?我使用AssetManager给我TextureAtlas,所以我假设只有TextureAtlas的一个实例,但如果我不得不转换,那么它就不会成立将TextureRegion变为Drawable吗?我不得不缓存这个我自己赢了吗?

1 个答案:

答案 0 :(得分:2)

通过创建TextureRegionDrawable对象,可以通过简单的方法将TextureRegion转换为Drawable(即btw接口):

    TextureRegion region = ...

    drawable = new TextureRegionDrawable(region);

对我来说更合理似乎只是创建两个图像并使用

在它们之间切换
    image.setVisible(isVisible);

如果你需要一直改变纹理,你应该考虑使用Animation对象来实现这个目标