首页 > 解决方案 > 在 XNA 中加载纹理的最快方法是什么

问题描述

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

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

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

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

此外,如果重要的话,这些文件是 .BMP 格式的。

标签: c#visual-studioxnaxna-4.0

解决方案


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

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

只要您不为相同的纹理重复它,就可以重复不同的纹理。

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

还有一种延迟加载实践,其中仅在对象出现时才加载纹理。但是您应该知道,纹理加载不会针对每个对象重复。


推荐阅读