English 中文(简体)
用C语言开发Android游戏#
原标题:Android game development in C#

我想知道,有没有办法在C#中为基于Android的手机(也许还有iPhone)开发游戏?是的,我知道“MonoDroid/Mono for Android”,但。。。它不是免费的Java很棒,但Dalvik的性能远不如Mono。而且它缺乏一些对游戏开发非常有用的功能,例如操作员过载。此外,还有OpenTK框架,这简直太神奇了。

那么,是否可以在Android上免费运行.NET/Mono?还是我被判Java

最佳回答

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

您可以尝试http://www.mono-project.com/Mono:ARM如果您对此有把握。

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

安卓系统充斥着java,而且很可能更容易不去尝试和它对抗。

问题回答

如果你不想使用Java,那么你应该使用NDK和C/C++;尤其是游戏。另一个好处是,如果你提前一点思考,你可以有一大堆在Android和iPhone上运行的代码。

我通常不喜欢提供超出你设定的限制的东西,但你应该牢记这一建议:

如果你认真对待游戏开发,我会投入时间学习Unity3D。非Pro版本是免费的,不会过期。他们有iPhone和Android套件,可以让你在这两个平台上部署游戏。是的,它们确实需要花钱,但要开始计算你的时间值多少钱。

如果你这样做是为了学习游戏引擎的工作原理,那就太棒了,你应该继续努力。如果你更专注于开发一款真正的游戏,那就看看现有的工具包吧。Unity3d是迄今为止最简单、最便宜的套件。





相关问题
Spring Properties File

Hi have this j2ee web application developed using spring framework. I have a problem with rendering mnessages in nihongo characters from the properties file. I tried converting the file to ascii using ...

Logging a global ID in multiple components

I have a system which contains multiple applications connected together using JMS and Spring Integration. Messages get sent along a chain of applications. [App A] -> [App B] -> [App C] We set a ...

Java Library Size

If I m given two Java Libraries in Jar format, 1 having no bells and whistles, and the other having lots of them that will mostly go unused.... my question is: How will the larger, mostly unused ...

How to get the Array Class for a given Class in Java?

I have a Class variable that holds a certain type and I need to get a variable that holds the corresponding array class. The best I could come up with is this: Class arrayOfFooClass = java.lang....

SQLite , Derby vs file system

I m working on a Java desktop application that reads and writes from/to different files. I think a better solution would be to replace the file system by a SQLite database. How hard is it to migrate ...