如何加载我XNA游戏中特定文件夹中的所有图像资源?纹理像正常一样位于内容项目中,但表示不是为了添加每个新纹理而在行后复制行,而是自动加载它们。加载文件夹中的所有Texture2D
2
A
回答
3
主要有两种方式
1:1的图像重命名为N,这样就可以在加载图像for循环如
List<Texture2D> images = new List<Texture2D>();
string folderPath = "MyImages/";
for(int i= 0; i<Count; i++)
{
try
{
images.Add(Content.Load<Texture2D>(folderPath + i.ToString));
}
catch
{
break;
}
}
上面的代码工作的具体数量,你可能会改变迭代到while(true)递增i,如果没有更多的图像,catch博客将会中断。
或者使用它(将静态类放在您的游戏项目的命名空间中,而不是在任何子命名空间文件夹下),它会起作用。如果你不希望延长您的内容比“这个”从功能删除)
public static class MyExtension
{
public static List<T> LoadListContent<T>(this ContentManager contentManager, string contentFolder)
{
DirectoryInfo dir = new DirectoryInfo(contentManager.RootDirectory + "/" + contentFolder);
if (!dir.Exists)
throw new DirectoryNotFoundException();
List<T> result = new List<T>();
FileInfo[] files = dir.GetFiles("*.*");
foreach (FileInfo file in files)
{
result.Add(contentManager.Load<T>(contentFolder + "/" + file.Name.Split('.')[0]));
}
return result;
}
}
此代码有,如果你的真实路径的长度将大于256,该功能将无法正常工作的问题。所以要小心。
相关问题
- 1. webpack文件加载器加载文件夹中的所有文件
- 2. 在codeigniter中加载文件夹中的所有类文件?
- 3. 如何使用as3加载文件夹中的所有文件
- 4. 加载文件夹中的所有模块
- 5. Chrome扩展 - manifest.json加载文件夹中的所有js
- 6. Ext MVC不加载所有文件夹和源文件
- 7. 使用Powershell下载FTP文件夹中的所有文件
- 8. ruby加载文件中的所有类
- 9. 使用现有类加载器加载文件夹中的类
- 10. python追加文件夹名称到所有子文件夹中的文件名
- 11. DeploymentItem-Attribut文件夹中的所有文件和文件夹
- 12. powershell复制文件夹中的所有文件夹和文件
- 13. 删除文件夹和所有子文件夹(包括文件夹)中的所有文件
- 14. Nmake - 编译所有子文件夹中的所有源文件
- 15. 不是所有的组件都被加载到AppDomain中bin文件夹
- 16. Android从所有文件夹加载媒体
- 17. 迭代iphone中的文件夹的所有子文件夹
- 18. 如何在Android上下载FirebaseStorage文件夹的所有文件?
- 19. Android - 从服务器上的文件夹下载所有文件
- 20. wwwroot文件夹没有被加载
- 21. 是否可以在playframework中加载/导入文件夹中的所有脚本?
- 22. Flash加载程序要求除主文件夹所在文件夹以外的文件夹文件?
- 23. 如何CHMOD文件夹mac中的所有文件夹?
- 24. 忽略htaccess中的所有文件夹
- 25. AppCache文件夹中的所有图像
- 26. 如何使用python通过名称加载文件夹中的所有图像?
- 27. Python/OpenCV - 如何从字母顺序加载文件夹中的所有图像
- 28. AesZipFileEncrypter zipAndEncrypt方法添加的所有文件夹树到文件
- 29. 删除除了一个文件夹中的所有文件夹/文件和所有根文件
- 30. 将文件夹中的所有文件移动到另一个文件夹中?
你能解释为什么你要这样做的“原因”?你试图达到什么目标? @icaptan下面的答案是正确的,但如果我们明白了你想要做的到底是什么,那么你可能正在解决错误的问题,我们可以指出你朝着更好的方向发展。 – 2012-02-19 16:45:35
我有很多按钮图像为我的游戏,需要一个更好的方法来加载它们比做Texture2D按钮和content.loads一百万次(夸张,但看着它感觉这种方式) – Cyral 2012-02-19 18:09:22
你可能会更好的添加所有这些按钮图像转换为单个图像。这是一种更高效的图像处理方式,可以减少内容负载。但是,如果你真的设置了大量的图像,那么@icaptan下面给出的答案将工作得很好。我个人会推荐他的第一种方法。 – 2012-02-19 18:12:57