สายไปปาร์ตี้เล็กน้อย แต่นี่คือความคิดของฉัน
ฉันจะไปกับตำแหน่งที่ 3 ซึ่งไม่เกี่ยวข้องกับการปรับเปลี่ยนรหัสฐานที่มีอยู่แล้ว สิ่งนี้จะใช้ได้หากคุณจะยอมรับ (และคัดลอก) ไบนารี (เกมจริง. exe และ. dll ที่เกี่ยวข้องจากการรวบรวม) ที่ใดที่หนึ่งในไดเรกทอรีผลลัพธ์ - ตัวอย่างเช่นสคริปต์หลังการสร้าง ฉันจะสมมติว่าเรากำลังพูดถึง Visual Studio 2010 และ XNA Game Studio 4.0 (กระบวนการนี้คล้ายกันมากสำหรับรุ่นอื่น ๆ เพียงแค่ต้องแทนที่ตัวเลขบางส่วน)
ดังนั้นแนวคิดคือ: สร้างสคริปต์ (.cmd) ในรูทของโปรเจ็กต์ของคุณโดยที่โซลูชัน. sln ตั้งอยู่โดยมีขั้นตอนต่อไปนี้:
เรียกใช้ "พรอมต์คำสั่ง Visual Studio 2010":
เรียก "C: \ Program Files (x86) \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat" x86
นี่คือเพื่อให้สคริปต์ของเราสามารถค้นหาไลบรารี XNA และเครื่องมือและไบนารีที่จำเป็นทั้งหมด
เรียกใช้งาน MSBuild ในโครงการเนื้อหา (.contentproj):
msbuild / คุณสมบัติ: XNAContentPipelineTargetPlatform = Windows / คุณสมบัติ: XNAContentPipelineTargetProfile = เข้าถึง mygame.content / projectfile.contentproj
คุณสามารถแก้ไขคุณสมบัติได้โดยระบุแพลตฟอร์ม / โปรไฟล์ที่แตกต่างกัน คุณยังสามารถสร้างเนื้อหาสำหรับแพลตฟอร์มเพิ่มเติมได้ตลอดเวลา (Windows Phone, Xbox 360 หรือ Windows) โปรไฟล์สามารถ: Reach หรือ HiDef (http://msdn.microsoft.com/en-us/library/ff604995.aspx)
คัดลอกผลลัพธ์ซ้ำไปยังโฟลเดอร์ที่เก็บไบนารี + เกมจริงไว้ในที่เก็บ:
xcopy / d / y / i / e bin \ x86 \ Debug \ Content * .. \ game_output \ Content
xcopy /?
สำหรับรายละเอียดเกี่ยวกับธงที่คุณสามารถเรียกใช้ในพรอมต์คำสั่ง: สิ่งสำคัญคือ: /d
เพื่อคัดลอกเฉพาะไฟล์ที่ถูกดัดแปลง - ในกรณีที่คุณมีสินทรัพย์จำนวนมากมันมีประโยชน์ที่จะไม่คัดลอกไฟล์ที่มีอยู่แล้วและไม่ได้ทำการแก้ไขซ้ำแล้วซ้ำอีก /y
สำหรับแทนที่ไฟล์ที่มีอยู่โดยอัตโนมัติเพื่อให้สามารถอัปเดตด้วยเวอร์ชันที่ใหม่กว่า ฉันใช้xcopy
เพราะปกติcopy
ไม่สามารถคัดลอกโฟลเดอร์ซ้ำตามที่ฉันรู้ - และบางทีคุณอาจจัดโครงสร้างเนื้อหาในโฟลเดอร์และโฟลเดอร์ย่อย นอกจากนี้ยังดีกว่าปกติcopy
(มีธงแตกต่างกันมากมาย)
โทรpause
เพื่อสคริปต์จะรออินพุตของผู้ใช้ สิ่งนี้มีประโยชน์ในการตรวจสอบว่าบิลด์นั้นดีและไม่พบข้อผิดพลาด
ตอนนี้ศิลปิน (หรือทุกคน) ที่ปรับเปลี่ยนไฟล์เนื้อหาต้องการเพียงแค่ดับเบิลคลิกที่สคริปต์. cmd และเนื้อหาใหม่จะถูกสร้างและคัดลอกไปยังไดเรกทอรีผลลัพธ์ที่มีการเตรียมสิ่งประดิษฐ์ที่พร้อมใช้งาน
อย่างไรก็ตามมีปัญหาเล็กน้อยซึ่งคุณจะต้องย้อนกลับไปยังจุดที่ 1 ของโพสต์ของ David: หากศิลปินต้องการแก้ไขโครงการเนื้อหาด้วยการเพิ่ม / ลบ / ย้ายไฟล์พวกเขาต้องทำโดยการเปิด โครงการใน Visual Studio (หรือแก้ไขไฟล์โครงการด้วยมือซึ่งฉันสงสัยว่าใครจะทำ) อย่างที่ฉันบอกไปนี่เป็นปัญหาเล็กน้อยเพราะพวกเขาสามารถส่งไฟล์ใหม่ในที่เก็บได้และคุณ coder จะรวมไฟล์เหล่านั้นไว้ในโครงการเนื้อหาเมื่อมีการใช้รหัสเพื่อจัดการไฟล์เหล่านั้น
ในแนวคิดนี้ Shawn Hargreaveas โพสต์บางอย่างเกี่ยวกับ msbuild และสร้างโครงการเนื้อหาจากบรรทัดคำสั่ง: http://blogs.msdn.com/b/shawnhar/archive/2006/11/07/build-it-ahead-of-time .aspxวิธีแก้ปัญหาของเขาคือสร้างไฟล์ใหม่ แต่ฉันคิดว่ามันง่ายกว่าและดูแลรักษาได้ดีกว่าเพื่อใช้ไฟล์โครงการที่มีอยู่แล้วโดยตรง
PS: ขออภัยสำหรับการโพสต์ยาว xD