如何通过 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() 函数。
考虑到我没有像选择第一种声明方式那样直接引用它的事实,你能想出我可以处理纹理的任何方法吗?
Sprite
是 TextureRegion
的子类,因此它有一个 getTexture()
method 来获取底层纹理对象。
Sprite API docs 使这变得相当迟钝(它只是在 "Methods inherited from .." 部分中引用)。
在 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() 函数。
考虑到我没有像选择第一种声明方式那样直接引用它的事实,你能想出我可以处理纹理的任何方法吗?
Sprite
是 TextureRegion
的子类,因此它有一个 getTexture()
method 来获取底层纹理对象。
Sprite API docs 使这变得相当迟钝(它只是在 "Methods inherited from .." 部分中引用)。