我正在使用LibGDX在Eclipse上创建Android游戏。我创建了一个Image类的实例。我不确定我是否应该处理它。我是这样创建的;
img = new Image(new Texture("img.png"));
我也创建了一个纹理,但我找不到处理它的方法。我该怎么办?
答案 0 :(得分:1)
在游戏对象图的一部分中存储您对Disposable资产的唯一引用非常容易出错。使用AssetManager,或至少使用一个跟踪所有纹理和声音等的类(但严重的是,使用AssetManager - 它具有内置的引用计数)。然后只有那个类必须处理所有Disposables的处理。你的演员可以引用一个纹理,但它不应该只包含引用,也不应该负责处理资产。
assetManager.load("img.png", Texture.class);
assetManager.finishLoading();
img = new Image(assetManager.get("img.png", Texture.class));
//...
assetManager.dispose();
答案 1 :(得分:0)
好吧,它看起来像Texture实现可处置,因此它将是需要处理的本机对象。您可以阅读this documentation.
您创建了一个带有匿名纹理的图片,这意味着您没有可以引用它的名称,因此您无法对其进行处理。您的Texture资产需要在代码中的某处引用,以便您可以在适当的时间处理它。通常我会有一个静态Assets类来处理需要时处理所有资产(停止应用程序时)。像Image这样的类使用这些资产,但他们不必担心处置它们。希望有所帮助。