我正在使用LibGDX在Eclipse上创建一个安卓游戏。我创建了Image类的一个实例。我不确定我是否应该处理它。我是这样创建的;
img = new Image(new Texture("img.png"));
我也创建了一个纹理,但我找不到处理它的方法。我该怎么办?
发布于 2016-06-30 02:10:38
在游戏对象图的一部分中存储对可处置资产的唯一引用是非常容易出错的。使用AssetManager,或者至少使用一个跟踪所有纹理和声音等的类(但说真的,使用AssetManager--它有内置的引用计数)。然后只有那个类必须处理所有Disposable的处理。你的参与者可以有一个纹理的引用,但它不应该拥有唯一的引用,也不应该负责处置资产。
assetManager.load("img.png", Texture.class);
assetManager.finishLoading();
img = new Image(assetManager.get("img.png", Texture.class));
//...
assetManager.dispose();发布于 2016-06-29 22:39:41
它看起来像是纹理实现了disposeable,所以这将是需要处理的本机对象。您可以通过this documentation.阅读
你创建了一个带有匿名纹理的Image,这意味着你没有一个可以引用它的名称,所以你不能处理它。您的纹理资源需要在代码中的某处引用,以便您可以在适当的时候处理它。通常我会有一个静态的Assets类,它在需要时(当停止应用程序时)处理所有资产。像Image这样的类使用这些资产,但它们不必担心如何处理它们。希望这能有所帮助。
https://stackoverflow.com/questions/38102499
复制相似问题