Saya ingin bertanya, apakah ada cara memuat di xna semua konten dari folder?
Misalnya di konten saya yang saya miliki:
Gambar / pahlawan
Gambar / mobil
Gambar / pohon
Saya ingin membuat sesuatu seperti ini
Dictionary<string,Model> models = new ...
foreach(string name in content.getNames("Images"))
{
models[name] = content.load<Model>("Images\\" + name);
}
Jawaban:
Ada halaman MSDN yang bagus tentang metode akses direktori yang berguna dan seseorang mengajukan pertanyaan serupa di StackOverflow .
Pada dasarnya, cari file yang ada di direktori itu, inisialisasi array dengan ukuran itu dan kemudian iterate melalui file-file itu, memuat sumber daya.
sumber
ContentManager
kelas. Jadi, Anda akan menggunakannya sebagaiContent.LoadContent<Texture2D>("myFolder")
. TheContent
properti padaGame
hanyalah sebuah contoh dariContentManager
kelas - Anda bisa menggunakan contoh apapun yang Anda suka. (Tidak ada tentang ini telah berubah antara versi XNA.)http://xbox.create.msdn.com/en-US/sample/contentmanifestextensions
Ini adalah tutorial tentang memuat konten saat runtime. Ini menunjukkan cara membuat daftar secara otomatis dengan menggunakan pipa konten.
sumber
Anda dapat dengan mudah mendaftar semua file di dalam folder dan kemudian memuatnya satu per satu. Secara default semua file konten disimpan dalam folder tepat di sebelah aplikasi utama Anda sehingga Anda hanya perlu memeriksa konten dari arah itu. Anda juga dapat menggunakan fungsi rekursif jika Anda ingin memuat semua file dari semua direktori. di sini adalah sedikit contoh:
perhatikan bahwa ketika Anda meminta sistem konten untuk memuat tekstur, Anda harus membuang folder "konten" dari nama file.
sumber