2011-05-28 63 views
6

我想知道,有沒有什麼方法可以在C#的基於Android的手機(也許iPhone)開發遊戲?是的,我知道「MonoDroid/Mono for Android」,但是...它不是免費的。 Java很棒,但是Dalvik表現遠不如Mono。它缺乏一些對遊戲開發非常有用的特性,例如運算符重載。此外,還有OpenTK框架,這簡直太神奇了。在C#中的Android遊戲開發#

那麼,是不是可以得到關於Android的運行.NET /單聲道免費?或者我被判刑爲Java

+1

我不知道如何建議使用Java是一種'轉折'... – 2011-05-28 23:24:11

回答

3

您必須能夠在設備上安裝非託管代碼。我會推薦使用Java,因爲我可以預見單聲道部署很困難。 Google可能不會讓您在自己的市場上出售大量非託管代碼的應用。它還會將您與帶有特定品牌處理器的Android手機捆綁在一起,這與我所能想到的所有手機使用ARM處理器並無太大關係,但也有一些例外。

如果您確定這一點,您可以嘗試http://www.mono-project.com/Mono:ARM

運算符重載是簡單的語法糖。我相信你能夠在沒有它的情況下編寫應用程序。 Java不能沒有自己的合適的框架。

Android正在充斥着java,它很可能更容易不嘗試與之對抗。

+0

+1「操作符重載只是語法糖」 – Squonk 2011-05-28 22:08:52

+2

-1不允許使用非託管代碼。他們擁有的NDK都是用C/C++完成的,它是非託管的。由於它被編譯爲由解釋器編譯的中間語言(IL)和準時制(JIT),所以使用C#也不會將你鎖定到特定的處理器。 – CaseyB 2011-05-28 23:40:47

+0

IL本身不會是問題。你要捆綁的運行時將會特定於處理器,並且存在困難。還有一個Mono:MIPS項目,但功能看起來不太好。我認爲Google可能對大量非託管代碼存在一些安全問題,尤其是那些寫入內存然後執行的代碼,但似乎他們確實會對任何東西進行橡皮戳。 – eyesathousand 2011-05-29 10:04:39

2

如果你不想使用Java,那麼你應該使用NDK和C/C++;特別是對於遊戲。另外一個好處就是,如果你有一點思考,可以在Android和iPhone上使用大量的代碼。

0

我無法正常提供的你設置什麼樣的限制之外的東西,但你應該把這個意見,心臟的粉絲:

如果你是認真的遊戲開發我會花時間在學習Unity3D 。非Pro版本是免費的,不會過期。他們擁有iPhone和Android套件,可讓您在這兩種平臺上部署遊戲。是的,他們需要花錢,但是開始計算你的時間值多少錢。

如果你正在做這個練習,以瞭解遊戲引擎如何工作,那麼這很棒,你應該追求它。如果您更專注於開發實際遊戲,請查看現有套件之一。 Unity3d是目前所有功能最簡單,最便宜的套件。