如何通过 Sprite 对象处理 Libgdx 纹理

How to dispose Libgdx Texture via Sprite object

在 LibGDX 中创建精灵的标准方法是这样

Texture texture = new Texture(Gdx.files.internal("myTexture.jpb");
Srite sprite = new Sprite(texture);

还有一种更短的方式

Sprite sprite = new Sprite(new Texture(Gdx.files.internal("myTexture.jpb"));

现在第二种方法效率更高,因为当您使用大量不同的纹理和精灵时,它确实可以节省大量代码行。但问题是,当我不再需要它们时,我找不到一种方法来处理精灵使用的纹理,因为精灵 class 没有实现 Disposable 接口,因此它实现了'没有 dispose() 函数。

考虑到我没有像选择第一种声明方式那样直接引用它的事实,你能想出我可以处理纹理的任何方法吗?

SpriteTextureRegion 的子类,因此它有一个 getTexture() method 来获取底层纹理对象。

Sprite API docs 使这变得相当迟钝(它只是在 "Methods inherited from .." 部分中引用)。