java - 我寻找 libgdx Assets 管理器的解释

标签 java android libgdx asset-management

我想创建一个 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/

相关文章:

java - 自定义三星健康应用程序问题?

java - 如何在java中解析BluetoothGattCharacteristic值

Java:在单元测试中模拟 http/https 调用

Android 应用程序,如何支持 64 位架构?

java - 如何在 libgdx 中的特定时间创建敌人

java - 比较两个字符串的有效方法(字符顺序无关紧要)

android - 如何让 ADK DemoKit 示例在 Google I/O Galaxy Tab 10.1 上运行?

android - android中的XML Pull Parser异常

android - 如何检测 libgdx 中的 Actor 何时被触摸?

android:使用 libgdx/universal-tween-engine 发布后移动到触摸位置