【发布时间】:2015-12-24 22:26:55
【问题描述】:
我有一个关于 libgdx 皮肤行为的问题。 我正在开发的游戏有一个全局 AssetsManager(来自 libgdx 套件),每个类都可以访问它。 我在这个资产管理中加载了不同的 TextureAtlas 我知道assetManager.dispose() 会释放资产管理器中加载的所有资源。
现在,我还想在资产管理器中加载一个皮肤(用于 GUI)。 皮肤会用到几个TextureAtlas...
这里的问题是:因为我要使用 skin.addRegion() 并且关于皮肤类的在线 API 参考说“当皮肤被释放时,地图集不会被自动释放”加载是一个好主意全局资产管理器中皮肤的所有TextureAtlas?
我担心 dispose 操作。因为当我调用assetManager.dispose() 时,TextureAtlas 和Skin 都会在dispose 方法上被调用……但是如果TextureAtlas 在皮肤之前被处理呢? 实际上会发生什么问题吗?
皮肤行为没有那么明确,我的意思是...... dispose 方法是做什么的?
提前致谢,
卢卡
【问题讨论】:
-
我忘了说,另一方面,在线 API 参考说(关于皮肤的 dispose() 方法):“在皮肤中处理 TextureAtlas 和所有 Disposable 资源”。