我正在创建一些需要加载大量纹理的东西(使用 XNA 的 Texture2D),并且我一直在使用一种使管理它们稍微容易一些的方法(因为我不断更改纹理的名称等)。
我目前的代码如下:
public static Dictionary<String, Texture2D> textureList = new Dictionary<string, Texture2D>();
public void AddTexture(String title)
{
Texture2D texture = Content.Load<Texture2D>(title); // This is just XNA's way of loading a texture
textureList.Add(title, texture);
Console.WriteLine("Texture bounds: " + textureList["ImageTitle"].Bounds); // AN example of the texture system being used
}
现在,AddTexture("Sprinkler");
当我希望添加新纹理并且(如示例中所示)我textureList["ImageTitle"]
用来抓取我想要的纹理时,这让我可以简单地执行此操作。
我的问题是:这是一个非常低效的系统,我只是想重新发明轮子吗?我应该回到拥有大量变量列表来存储我的纹理,还是有更好的选择?