Một chút muộn để đến bữa tiệc, nhưng đây là ý tưởng của tôi.
Tôi sẽ đi với khả năng hiển thị thứ 3 không liên quan gì đến việc sửa đổi cơ sở mã đã có. Điều này sẽ hoạt động nếu, bạn sẽ cam kết (và sao chép) các nhị phân (trò chơi thực tế .exe và các tệp liên kết từ trình biên dịch) ở đâu đó trong thư mục đầu ra - ví dụ với tập lệnh hậu xây dựng. Trở đi, tôi sẽ giả sử chúng ta đang nói về Visual Studio 2010 và XNA Game Studio 4.0 (Quy trình này rất giống với các phiên bản khác, chỉ cần thay thế một số số)
Vì vậy, ý tưởng là: tạo một tập lệnh (.cmd) trong thư mục gốc của dự án của bạn, nơi giải pháp .sln nằm trong đó, với các bước sau:
Gọi "Dấu nhắc lệnh của Visual Studio 2010":
gọi "C: \ Chương trình tệp (x86) \ Microsoft Visual Studio 10.0 \ VC \ vcvarsall.bat" x86
Điều này là để tập lệnh của chúng tôi có thể tìm thấy các thư viện XNA và tất cả các công cụ và nhị phân cần thiết.
Gọi tác vụ MSBuild trên Dự án Nội dung (.contentproj):
msbuild / property: XNAContentPipelineTargetPl platform = Windows / property: XNAContentPipelineTargetProfile = Reach mygame.content / projectfile.contentproj
Bạn có thể sửa đổi các thuộc tính bằng cách chỉ định các nền tảng / hồ sơ khác nhau. Bạn thậm chí có thể đi xa hơn để xây dựng nội dung cho nhiều nền tảng cùng một lúc (Windows Phone, Xbox 360 hoặc Windows). Cấu hình có thể là: Reach hoặc HiDef (http://msdn.microsoft.com/en-us/l Library / ff604995.aspx)
Sao chép đệ quy đầu ra vào thư mục lưu trữ nhị phân + trò chơi thực tế trên kho lưu trữ:
xcopy / d / y / i / e bin \ x86 \ Gỡ lỗi \ Nội dung * .. \ gameDefput \ Nội dung
Để biết chi tiết về các cờ, bạn có thể gọi trong dấu nhắc lệnh : xcopy /?
. Những cái quan trọng là : /d
, chỉ sao chép các tệp đã sửa đổi - trong trường hợp bạn có nhiều tài sản, không nên sao chép lại nhiều lần các tệp đã tồn tại và chưa sửa đổi; /y
để tự động ghi đè lên các tệp hiện có để chúng có thể được cập nhật với phiên bản mới hơn. Tôi đã sử dụng xcopy
vì thông thường copy
không thể sao chép các thư mục đệ quy theo như tôi biết - và có lẽ bạn đang cấu trúc nội dung trong các thư mục và thư mục con. Thêm vào đó, nó tốt hơn bình thường copy
(rất nhiều cờ khác nhau).
Gọi pause
để kịch bản sẽ chờ người dùng nhập liệu. Điều này rất hữu ích để kiểm tra xem bản dựng có ổn không và không gặp phải lỗi nào.
Bây giờ, các nghệ sĩ (hoặc bất kỳ ai) sửa đổi các tệp nội dung, chỉ cần nhấp đúp vào tập lệnh .cmd và nội dung mới sẽ được xây dựng và sao chép vào thư mục đầu ra nơi các tạo tác được cam kết, sẵn sàng để được kiểm tra.
Tuy nhiên, có một vấn đề nhỏ, đó là bạn sẽ phải chuyển sang điểm đầu tiên của bài viết của David: nếu các nghệ sĩ muốn sửa đổi dự án Nội dung bằng cách thêm / xóa / di chuyển xung quanh các tệp, họ phải làm điều đó bằng cách mở dự án trong Visual Studio (hoặc chỉnh sửa tệp dự án bằng tay, điều mà tôi nghi ngờ bất cứ ai sẽ làm). Như tôi đã nói, đây là một vấn đề nhỏ, vì họ chỉ có thể cam kết các tệp mới trong kho lưu trữ và bạn, người viết mã sẽ đưa chúng vào Dự án Nội dung khi mã được xử lý để xử lý chúng.
Về ý tưởng này, Shawn Hargreaveas đã đăng một cái gì đó về msbuild và xây dựng Dự án nội dung từ dòng lệnh: http://bloss.msdn.com/b/shawnhar/archive/2006/11/07/build-it-ahead-of-time .aspx Giải pháp của anh ấy là tạo một tệp mới, nhưng tôi nghĩ việc sử dụng trực tiếp tệp dự án hiện có dễ dàng và dễ bảo trì hơn.
PS: Xin lỗi vì bài viết dài xD