2010-09-23 40 views
5

我問這個的XNA論壇,但我猜,因爲大多數人會有專門在C#中我沒有得到這個編程Xbox遊戲使用Scala

我對Scala編寫的一個遊戲中的一些代碼有很大幫助。我現在將所有東西編譯成Java Bytecode,但Scala編譯器有.Net版本。考慮到這一點,並且因爲模塊化設計通常是良好的實踐,所以我編寫了一個Graphics接口,現在我使用了一個OpenGLGraphics類來實現此接口,該接口包含我的程序中的每一行OpenGL代碼。在我完美的世界中,我將能夠將OpenGLGraphics課程換成XNAGraphics課程,並在Xbox上運行我的遊戲,無需進一步移植,或者進行一些修改,但我想這不是那麼簡單。

我做了一些谷歌上搜索,我已經無法找到任何人試圖這樣的一個例子。我對XNA編程有經驗,首先想到的問題是Visual Studio沒有scala插件,而XNA編程似乎非常適合Visual Studio,我至少可以讓Visual Studio編譯非C#代碼XNA項目或設置一個沒有Visual Studio的XNA項目和內容管道?

+0

我覺得斯卡拉在.NET目前不完全工作,儘管這方面正在開展工作。 – ziggystar 2011-04-01 14:29:43

回答

3

您可以通過創建一個C#項目配置在IDE中的任意前和後生成事件,右鍵單擊該項目開拓屬性頁面,然後選擇「生成事件」。應該有一個「預生成事件命令行」和「生成後事件命令行」,您可以在其中指定要作爲生成的一部分運行的任意命令。但是,更好的選擇可能是手動創建MSBuild構建文件並使用Exec任務來運行任意命令。

有關於斯卡拉融入VS here一些討論其中還討論了自定義的MSBuild任務。

0

只要你可以編譯器指向XNA組件的正確版本,並可以產生一個適當的CLR組件,那麼你最好的選擇可能是將所有的遊戲代碼重構爲一個.dll /組裝。然後,照常製作一個普通的XNA項目,引用你的Scala程序集,並引用scala程序集中的代碼來啓動XNA遊戲。

可以肯定,它會採取一些重構,但它聽起來像你已經由具有抽象渲染,做的大部分工作一切