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

その一般的なゲッターはオプションです。キャストを自分で行うこともできますが、このようにするとより便利です。もちろん、エラー処理があり、すべてが欠けていますが、それが非常に基本的な AssetManager の動作方法です。

于 2014-03-06T12:14:14.000 に答える