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

我目前有一个名为card的类,该类扩展了Image,并且我希望能够将卡上的图形设置为我的图集中的某种内容。

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

但是,我的卡需要在游戏过程中更改图形,并且我还需要能够从地图集中进行设置。

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

这是唯一的方法,因为看到有一个构造器使用TextureRegion设置图形,我发现我无法使用setter方法执行相同操作,这很奇怪?

如果没有,我应该怎么做?我可以将TextureRegion转换为Drawable吗?我是否应该将其缓存在某个地方以将每次处理TextureRegion都保存为Drawable?我正在使用AssetManager给我TextureAtlas,所以我假设只有TextureAtlas的一个实例,但是如果我一直不得不将TextureRegion转换成会吗?我必须自己缓存它,对吗?

最佳答案

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

    TextureRegion region = ...

    drawable = new TextureRegionDrawable(region);


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

    image.setVisible(isVisible);


如果您需要始终将纹理相互更改,则可以考虑使用Animation对象来实现此目的

关于android - 我如何在带有纹理区域的libgdx中设置图像,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32620794/

10-10 06:59