首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Libgdx - Image类dispose

Libgdx - Image类dispose
EN

Stack Overflow用户
提问于 2016-06-29 22:23:58
回答 2查看 771关注 0票数 1

我正在使用LibGDX在Eclipse上创建一个安卓游戏。我创建了Image类的一个实例。我不确定我是否应该处理它。我是这样创建的;

img = new Image(new Texture("img.png"));

我也创建了一个纹理,但我找不到处理它的方法。我该怎么办?

EN

回答 2

Stack Overflow用户

发布于 2016-06-30 02:10:38

在游戏对象图的一部分中存储对可处置资产的唯一引用是非常容易出错的。使用AssetManager,或者至少使用一个跟踪所有纹理和声音等的类(但说真的,使用AssetManager--它有内置的引用计数)。然后只有那个类必须处理所有Disposable的处理。你的参与者可以有一个纹理的引用,但它不应该拥有唯一的引用,也不应该负责处置资产。

代码语言:javascript
复制
assetManager.load("img.png", Texture.class);
assetManager.finishLoading();

img = new Image(assetManager.get("img.png", Texture.class));

//...
assetManager.dispose();
票数 1
EN

Stack Overflow用户

发布于 2016-06-29 22:39:41

它看起来像是纹理实现了disposeable,所以这将是需要处理的本机对象。您可以通过this documentation.阅读

你创建了一个带有匿名纹理的Image,这意味着你没有一个可以引用它的名称,所以你不能处理它。您的纹理资源需要在代码中的某处引用,以便您可以在适当的时候处理它。通常我会有一个静态的Assets类,它在需要时(当停止应用程序时)处理所有资产。像Image这样的类使用这些资产,但它们不必担心如何处理它们。希望这能有所帮助。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38102499

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档