在 XNA 中加载纹理的最快方法是什么

问题描述

我是一名学生,使用最新版本的 Microsoft XNA 进行学习。

我需要从 Content 文件夹(或者更具体地说是 Content 文件夹中名为 Tiles 的文件夹)加载大量纹理,而且我真的不想输入以下代码 100 次:

texture = Content.Load<Texture2D>("texture");

我意识到我可以更改文件名称并通过循环运行以加载它们,但是如果有一种方法可以保留名称,这对于查找特定图块似乎效率很低。我只是在寻找一种方法来加载所有这些以节省开发时间。

此外,如果重要的话,文件采用 .BMP 格式。

解决方法

请记住,每个纹理都需要至少加载一次。 所以使用

texture = Content.Load<Texture2D>("texture");

可以对不同的纹理重复,只要不要对相同的纹理重复即可。

我了解到是在 game1.cs 的 LoadContent() 中加载所有纹理,该方法仅在游戏开始时调用一次。因此,它们都已准备好用于游戏的其余部分。

还有一种延迟加载的做法,即仅在对象出现时加载纹理。但您应该注意,纹理加载不会为每个对象重复。