Sedikit terlambat ke pesta, tapi ini ide saya.
Saya akan pergi dengan kemungkinan ke-3 yang tidak melibatkan seperti memodifikasi basis kode yang sudah ada. Ini akan berfungsi jika, Anda akan mengkomit (dan menyalin) binari (gim aktual .exe dan .dlls yang terkait dari kompilasi) di suatu tempat di direktori keluaran - misalnya dengan skrip post-build. Selanjutnya, saya akan berasumsi kita berbicara tentang Visual Studio 2010 dan XNA Game Studio 4.0 (Prosedur ini sangat mirip untuk versi lain, hanya perlu mengganti beberapa angka)
Jadi, idenya adalah: buat skrip (.cmd) di root proyek Anda, tempat solusi .sln berada, dengan langkah-langkah berikut:
Meminta "Visual Studio 2010 Command Prompt":
panggil "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat" x86
Ini agar skrip kami dapat menemukan pustaka XNA, dan semua alat dan binari yang diperlukan.
Panggil tugas MSBuild di Proyek Konten (.contentproj):
msbuild / properti: XNAContentPipelineTargetPlatform = Windows / properti: XNAContentPipelineTargetProfile = Raih mygame.content / projectfile.contentproj
Anda dapat memodifikasi properti dengan platform / profil berbeda yang ditentukan. Anda bahkan dapat melangkah lebih jauh untuk membangun konten untuk lebih banyak platform sekaligus (Windows Phone, Xbox 360 atau Windows). Profil dapat berupa: Jangkauan atau HiDef (http://msdn.microsoft.com/en-us/library/ff604995.aspx)
Salin secara rekursi keluaran ke folder tempat binari + gim sebenarnya disimpan di repositori:
xcopy / d / y / i / e bin \ x86 \ Debug \ Content * .. \ game_output \ Content
Untuk rincian tentang bendera, Anda dapat meminta pada command prompt: xcopy /?
. Yang penting adalah:, /d
untuk menyalin hanya file yang dimodifikasi - jika Anda memiliki banyak aset, sebaiknya jangan menyalin yang berulang-ulang yang sudah ada dan tidak dimodifikasi; /y
untuk secara otomatis menimpa file yang sudah ada sehingga mereka dapat diperbarui dengan versi yang lebih baru. Saya telah menggunakan xcopy
karena yang normal copy
tidak dapat menyalin folder secara rekursif sejauh yang saya tahu - dan mungkin Anda menyusun konten dalam folder dan sub-folder. Plus, ini lebih baik daripada yang normal copy
(banyak bendera berbeda).
Panggil pause
begitu skrip akan menunggu input pengguna. Ini berguna untuk memeriksa apakah build-nya baik-baik saja dan tidak ditemukan kesalahan.
Sekarang, para seniman (atau siapa saja) yang memodifikasi file konten, hanya perlu mengklik dua kali skrip .cmd dan konten baru akan dibangun dan disalin ke direktori output di mana artefak yang berkomitmen, siap untuk diuji.
Namun, ada masalah kecil, di mana Anda harus mundur ke poin pertama dari postingan David: jika artis ingin memodifikasi proyek Konten dengan menambahkan / menghapus / memindahkan file, mereka harus melakukannya dengan membuka proyek di Visual Studio (atau mengedit file proyek dengan tangan, yang saya ragu orang akan melakukannya). Seperti yang saya katakan, ini adalah masalah kecil, karena mereka hanya bisa mengkomit file-file baru dalam repositori, dan Anda, pembuat kode akan memasukkannya dalam Proyek Konten ketika kode dilakukan untuk menangani itu.
Atas ide ini, Shawn Hargreaveas memposting sesuatu tentang msbuild dan membangun Proyek Konten dari baris perintah: http://blogs.msdn.com/b/shawnhar/archive/2006/11/07/build-it-ahead-of-time .aspx Solusinya adalah membuat file baru, tapi saya pikir lebih mudah dan lebih dapat dikelola untuk menggunakan langsung file proyek yang sudah ada.
PS: Maaf untuk posting lama xD