Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 用C语言开发Android游戏#_C#_Java_Android_Mono - Fatal编程技术网

C# 用C语言开发Android游戏#

C# 用C语言开发Android游戏#,c#,java,android,mono,C#,Java,Android,Mono,我想知道,有没有办法在C#中为基于Android的手机(可能还有iPhone)开发游戏?是的,我知道“MonoDroid/Mono for Android”,但是。。。这不是免费的Java很棒,但Dalvik的性能比Mono差得多。而且它缺少一些对游戏开发非常有用的特性,比如操作符重载。此外,还有一个OpenTK框架,它简直令人惊叹 那么,有可能在Android上免费运行.NET/Mono吗?还是我被判使用Java?您必须能够在设备上安装非托管代码。我建议使用Java,因为我可以预见mono的部

我想知道,有没有办法在C#中为基于Android的手机(可能还有iPhone)开发游戏?是的,我知道“MonoDroid/Mono for Android”,但是。。。这不是免费的Java很棒,但Dalvik的性能比Mono差得多。而且它缺少一些对游戏开发非常有用的特性,比如操作符重载。此外,还有一个OpenTK框架,它简直令人惊叹


那么,有可能在Android上免费运行.NET/Mono吗?还是我被判使用Java?

您必须能够在设备上安装非托管代码。我建议使用Java,因为我可以预见mono的部署会很困难。谷歌可能不允许你在他们的市场上销售含有大量非托管代码的应用程序。它还将把你束缚在使用特定品牌处理器的Android手机上,这不是什么大问题,因为我能想到的所有手机都使用ARM处理器,但也有一些例外

如果你确信这一点,你可以试试

运算符重载只是语法上的糖分。我相信你没有它也能写应用程序。当然,Java不能没有自己合适的框架


Android充斥着java,不去尝试和它对抗很可能更容易。

如果你不想使用java,那么你应该使用NDK和C/C++;特别是游戏。另一个好处是,如果你想得远一点,你可以拥有大量在Android和iPhone上运行的代码。

我通常不喜欢提供超出你设定范围的东西,但你应该牢记以下建议:

如果你对游戏开发很认真,我会把时间花在学习上。非专业版是免费的,不会过期。他们有iPhone和Android工具包,可以让你在这两个平台上部署游戏。是的,他们确实需要钱,但是开始计算你的时间值多少钱


如果你把这当作一个练习来学习游戏引擎是如何工作的,那就太棒了,你应该继续学习。如果你更专注于开发一款真正的游戏,那就看看现有的工具包吧。Unity3d是迄今为止所有功能中最简单、最便宜的工具包。

我不知道你怎么能认为使用Java是禁止非托管代码的“宣判”…-1。他们有NDK,这都是在非托管的C/C++中完成的。此外,使用C#不会将您锁定到特定的处理器,因为它会被编译成中间语言(IL)和由解释器编译的实时(JIT)。IL本身不会成为问题。您将绑定的运行时是特定于处理器的,困难就在于此。还有一个Mono:MIPS项目,但它看起来功能性要差得多。我想Google可能会对大量非托管代码存在一些安全问题,特别是那些写入内存然后从内存执行的代码,但似乎它们真的会在任何事情上打橡皮图章。你真的应该像男人一样在组装中开发所有东西。