0

我想创建一个资产管理器。我知道“libgdx”的资产管理器,但我不想使用 libgdx,因为我只是为了学习目的而编程。所以我想了解我的整个程序并从头开始编写所有内容。

现在我需要一个资产管理器,因为我内存不足。我查看了 libgdx 的资产管理器,但它几乎是代码,我并不完全理解它。

我想知道 libgdx 的资产管理器的基本原理/思想是什么。我知道它可以与哈希图一起使用,并且在它自己的线程中是异步的。但这几乎是我所知道的。

你可以帮帮我吗?

4

1 回答 1

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 可能的工作方式。

于 2014-03-06T12:14:14.000 回答