通常,使用XNA的內容管道加載內容時,編譯後的.xnb文件可以使用可在Visual Studio GUI中定義的指定「資產名稱」進行訪問。默認情況下,此名稱與內容的文件名無擴展名相同。因此,通常不能加載兩個文件名稱不同的擴展名,因爲生成的.xnb文件名稱會有衝突。如果您手動更改其中某個文件的資產名稱,則生成的.xnb文件不再發生衝突。是否可以在自定義XNA內容處理器中定義資產名稱?
對於我寫的級別加載系統,我希望能夠從兩個具有相同名稱(level1.png和level1.col)的單獨文件中加載紋理數據和碰撞數據,其中碰撞數據是隻是一個文本文件。我編寫了一個自定義內容處理器來使用內容管道加載碰撞數據。
似乎無法直接在正常遊戲代碼中修改資產名稱,但我一直無法確定它是否可以在自定義內容處理器內完成。這可能嗎?或者我必須親自修改所有資產名稱才能做到這一點?
我會在App Hub論壇上提問,但我在嘗試登錄該網站時沒有註冊(並提供信用卡信息)開發者套餐相當困難。目前我正在使用XNA進行Windows平臺遊戲,並且目前對X360的開發沒有興趣。
我懷疑你不能,但我不確定。然而:簡單地給他們提供不同的文件和資產名稱(也許在'.col'文件中指定紋理名稱?)而不是編寫棘手的內容管道代碼似乎更實用。 –
只輸出不同的文件名就相當簡單。我更希望得到這個工作只是爲了讓多個文件在文件系統上看起來更清晰。這也是一個瞭解更多關於你可以用管道做什麼的機會。好吧。 –