私はこのようなことをソースコードで何度も見てきました[まあ、これはもっと私の擬似C ++のアイデアです]
typedef shared_ptr<Resource> ResourcePtr;// for ease
ResourcePtr sound1 = resourceManager.Get<SoundResource>("boom.ogg");
sound1->Play();
ResourcePtr sprite = resourceManager.Get<Image>("sprite.png");
私はこのようなクラスがどれほど役に立つか、ただ疑問に思っていました:
- ロードされたメディアファイル
- それらをメモリに保存しました
- これはレベルの開始時に行いました-ロード画面。
- 掃除した
次のシステムを持つのではなく:
- リソースはエンティティのみによって保持されているか、緩やかです。
- メモリへの独自のロードを担当します。
最初は、そのような「マネージャー」です。私が感じる何かは、それが使用するのが間違っていることを示しています。ただし、ロードする必要のあるものすべてを探し回るのではなく、リソース名のベクトルのようなものを渡すことができます。