2009-11-27 18 views
10

最近我準備自己在XNA C#中開發另一款遊戲。C#XNA的Javascript(或類似的)遊戲腳本

上次我在XNA C#中進行遊戲時,遇到了將地圖和可定製數據添加到遊戲中的問題。每次我想添加新內容或改變遊戲角色的某些值時,我不得不重建整個遊戲或什麼 - 這可能需要相當長的一段時間。

有什麼辦法可以編寫遊戲腳本來加載我的XNA C#遊戲可以解釋的內容,而無需編譯?我期待着Javascript。

我希望我可以添加可以從外部遊戲腳本調用的函數和其他小型API來操縱遊戲或加載數據等等。我並不擔心遊戲因爲很早就被黑客入侵,因此開發工作非常重要。

任何幫助將不勝感激。

+1

你看着Lua的?它似乎是腳本的有用語言。 – 2009-11-27 07:05:22

+0

我絕對看過Lua。 =) – mauris 2009-11-27 07:17:41

回答

5

你可以嘗試Jint這是一個開源的JavaScript解釋器在C#編寫

+0

這看起來像一個非常酷和容易的想法。但是,如何定義可以調用以運行某些C#方法的預定義函數? – mauris 2009-11-28 06:52:33

+0

好的我認爲Jint也支持這一點,正如寫在http://jint.codeplex.com/wikipage?title=Quick%20Start&referringTitle=Documentation – mauris 2009-11-28 06:53:39

+0

老問題,我知道,但這正是我最近做的,它工作得很好,我甚至可以創建一些調試功能。這裏有一些代碼(可以免費使用ofc):http://roy-t.nl/index.php/2012/06/05/using-javascript-as-a-script-engine-in-xnac/ – 2012-06-11 08:23:29

1

IronPython會更合適嗎?這應該適用於「完整」框架 - 但它看起來可能是not work (yet) on xbox 360(它使用緊湊框架)。

對於IronPython/xna示例,see here

2

緊湊框架不包含System.Reflection.Emit,這意味着您不能使用IronPython。我建議LUA,你可以找到開源的XNA解釋實施here

+0

它看起來不錯。但我無法在Visual C#2008上工作。該項目似乎非常老舊。 – mauris 2009-11-27 08:09:43

+0

如果你不想惹到它編譯,他提供預編譯的二進制文件 - 只需在遊戲中添加一個引用到dll。 – seraphym 2009-11-27 19:16:55