如何加載我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. 如何使用XNA加載文件夾中的所有文件?
- 5. 加載文件夾中的所有文件
- 6. 如何加載所選文件夾中的所有圖像
- 7. 代理配置加載文件夾中的所有圖像
- 8. JavaScript:如何加載文件夾中的所有圖像?
- 9. Chrome擴展 - manifest.json加載文件夾中的所有js
- 10. Air App/AS3 - 加載文件夾中的所有圖像
- 11. 加載文件夾中的所有模塊
- 12. Ext MVC不加載所有文件夾和源文件
- 13. 將.bmp加載到Texture2D中
- 14. 使用Powershell下載FTP文件夾中的所有文件
- 15. ruby加載文件中的所有類
- 16. 使用現有類加載器加載文件夾中的類
- 17. python追加文件夾名稱到所有子文件夾中的文件名
- 18. DeploymentItem-Attribut文件夾中的所有文件和文件夾
- 19. powershell複製文件夾中的所有文件夾和文件
- 20. 找不到所有從VSTO中的XLStart文件夾加載的插件
- 21. 刪除文件夾和所有子文件夾(包括文件夾)中的所有文件
- 22. Nmake - 編譯所有子文件夾中的所有源文件
- 23. 不是所有的組件都被加載到AppDomain中bin文件夾
- 24. 廣場PHP腳本加載所有圖片文件夾
- 25. Android從所有文件夾加載媒體
- 26. 加載所有模塊recursivly從子文件夾在Python
- 27. Dropbox中的所有文件夾和文件夾的列表
- 28. 迭代iphone中的文件夾的所有子文件夾
- 29. 如何下載文件夾中列A中的所有鏈接?
- 30. Android - 從服務器上的文件夾下載所有文件
你能解釋爲什麼你要這樣做的「原因」?你試圖達到什麼目標? @icaptan下面的答案是正確的,但如果我們明白了你想要做的到底是什麼,那麼你可能正在解決錯誤的問題,我們可以指出你朝着更好的方向發展。 – 2012-02-19 16:45:35
我有很多按鈕圖像爲我的遊戲,需要一個更好的方法來加載它們比做Texture2D按鈕和content.loads一百萬次(誇張,但看着它感覺這種方式) – Cyral 2012-02-19 18:09:22
你可能會更好的添加所有這些按鈕圖像轉換爲單個圖像。這是一種更高效的圖像處理方式,可以減少內容負載。但是,如果你真的設置了大量的圖像,那麼@icaptan下面給出的答案將工作得很好。我個人會推薦他的第一種方法。 – 2012-02-19 18:12:57