1

我刚刚开始使用TexturePacker,TextureAtlasTextureRegions在我的应用程序中。

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

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

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

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

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

如果没有,我该怎么做?我可以将 a 转换TextureRegion为 aDrawable吗?我应该将其缓存在某处以保存每次处理TextureRegion到 a中吗?Drawable我正在使用 anAssetManager来给我TextureAtlas,所以我认为只有一个 的实例,但是如果我一直不得不将 转换为意志TextureAtlas,那将不成立吗?我必须自己缓存这个,不是吗?TextureRegionDrawable

4

1 回答 1

2

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

    TextureRegion region = ...

    drawable = new TextureRegionDrawable(region);

对我来说更合理的似乎只是创建两个图像并使用它们在它们之间切换

    image.setVisible(isVisible);

如果您需要一直更改纹理,则应考虑使用Animation对象来实现此目的

于 2015-09-17T01:07:04.657 回答