我想创建一个 Assets 管理器。我知道“libgdx”中的 Assets 管理器,但我不想使用 libgdx,因为我只是为了学习目的而编程。所以我想理解我的整个程序并从头开始编写所有内容。
现在我需要一个 Assets 管理器,因为我的内存不足。我查看了 libgdx 的 Assets 管理器,但它几乎是代码,我不完全理解它。
我想知道libgdx的asset-manager的基本原理/想法是什么。我知道它可以与 HashMap 一起使用,并且在它自己的线程中成为异步的。但这几乎就是我所知道的全部。
你能帮我吗?
最佳答案
除了使用 map 来存储和检索所有资源之外,没有什么需要了解的。
基本上你有这样的东西:
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 的工作方式。
关于java - 我寻找 libgdx Assets 管理器的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22223909/