我想创建一个资产管理器。我知道“libgdx”中的资产管理器,但我不想使用libgdx,因为我只是为了学习而编程。所以我想了解我的整个程序并从头开始编写所有内容。
现在我需要一个资产经理,因为我的内存不足。我看了一下libgdx的资产管理器,但它几乎是代码,我完全不理解它。
我想知道libgdx的资产管理器的基本原理/理念是什么。我知道它适用于hashmaps并且在它自己的线程中是asyncron。但这几乎是我所知道的。
你能帮帮我吗?
答案 0 :(得分:1)
除了使用地图存储和检索所有资产之外,没有什么可以知道的。
基本上你有这样的东西:
class AssetManager {
private Map<String, Object> assets = new HashMap<String, Object>();
public void storeAsset(String key, Object asset) {
assets.put(key, asset);
}
public <T> T getAsset(String key, Class<T> clazz) {
return (T) assets.get(key);
}
public void freeAsset(String key) {
assets.remove(key);
}
}
那个通用的getter是可选的,你也可以自己做演员表,但是这样更方便。当然有错误处理和一切都缺失,但这是一个非常非常基本的AssetManager可能工作的方式。