Я ищу объяснение менеджера активов libgdx

Я хотел бы создать актив-менеджер. Я знаю менеджер активов из "libgdx", но я не хочу использовать libgdx, потому что я просто программирую для изучения. Поэтому я хочу понять всю мою программу и написать все с нуля.

Теперь мне нужен менеджер активов, потому что мне не хватило памяти. Я взглянул на менеджер ресурсов в libgdx, но это в значительной степени код, и я не понял его полностью.

Я хотел бы знать, каков основной принцип / идея менеджера ресурсов libgdx. Я знаю, что он работает с хэш-картами и в своем собственном потоке, чтобы быть асинхронным. Но это почти все, что я знаю.

Не могли бы вы помочь мне?

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);
    }
}

Этот универсальный метод получения является необязательным, вы также можете выполнять приведение типов самостоятельно, но так удобнее. Конечно, есть обработка ошибок и все отсутствует, но именно так может работать очень простой AssetManager.

Другие вопросы по тегам