我刚刚开始在我的应用程序中使用TexturePacker
,TextureAtlas
和TextureRegions
。
我目前有一个名为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/