我想知道,有没有办法在 C#中为基于Android的手机(也许是iPhone)开发游戏?是的,我知道“ MonoDroid / Mono for Android ”,但是......它不是免费的。 Java 非常棒,但 Dalvik 的性能远远低于 Mono 。它缺少一些对游戏开发非常有用的功能,例如运算符重载。此外,还有 OpenTK 框架,简直太棒了。
那么,是否可以在 Android 上免费 运行 .NET / Mono ?或者我被判 Java ?
答案 0 :(得分:3)
您必须能够在设备上安装非托管代码。我建议使用Java,因为我可以预见单声道部署很困难。 Google可能不允许您在其市场上使用大量非托管代码销售您的应用。它还会将你绑定到运行特定品牌处理器的Android手机,这不是什么大问题,因为我能想到的所有手机都使用ARM处理器,但有一些例外。
如果您对此有所了解,可以尝试http://www.mono-project.com/Mono:ARM。
运算符重载只是语法糖。我相信你有能力在没有它的情况下编写应用程序。而Java肯定不能没有自己合适的框架。
Android充满了java,它最容易不尝试与它作斗争。
答案 1 :(得分:2)
如果您不想使用Java,那么您应该使用NDK和C / C ++;特别是对于游戏。另外一个好处是,如果你提前考虑一下,你可以拥有适用于Android和iPhone的大量代码。
答案 2 :(得分:0)
我通常不喜欢提供超出你设定范围的东西,但你应该把这个建议铭记于心:
如果你认真对待游戏开发,我会花时间学习Unity3D。非Pro版本是免费的,不会过期。他们拥有iPhone和Android套件,允许您在这两个平台上部署游戏。是的,他们确实花钱,但开始计算你的时间是多少。
如果你这样做是为了练习游戏引擎如何工作那么这很棒,你应该追求它。如果您更专注于开发实际游戏,请查看其中一个现有工具包。 Unity3d是目前为止所有功能最简单,最便宜的套件。