一个C#游戏来统治他们(iOS,Android,WP7,W7,Mac OS X和XBOX)

嘿,我正在学习C#,只是想到了一个很酷的想法。 考虑到一个游戏很简单。 比如,一个经典的文本input风格的游戏的重制,理论上来说,一个C#游戏可以移植到上面列出的所有平台上,原始源代码的改变很less,对吗?

很明显,用户界面将不得不进行调整,我非常怀疑这样的游戏真的会在每个平台上生存下来!

但是,尽pipeC#真的很重,通过不同的方法,这可以工作,对吗? 或者,我是否必须将C#源代码更改为Objective-C? Android甚至有他们支持的官方语言,如苹果和MS吗?

这是一个奇怪的问题,但如果这是真的,那么C#是一个很好的多用途语言,尽pipe它主要是基于MS认可的。

我决定发表一个答案,因为我想到了几个更相关的事情要说。

首先回答你的问题:是的,它会工作。 不,你不需要移植到Objective-C。 Android的应用程序通常使用Java。

还有一点背景

我听说使用.Net,C#进行跨平台开发的MonoTouch和MonoDroid的好处 。

你已经接受了,你将不得不专门为每个平台处理UI层,所以你在正确的道路上。

重要的是,9月9日,苹果公司放松了他们的准则,以前使用Monotouch构建的应用程序无法在市场上发布。

苹果公司关于App Store评论指南的声明

特别是,我们放宽了用于创建iOS应用程序的开发工具的所有限制,只要生成的应用程序不下载任何代码。 这应该为开发人员提供所需的灵活性,同时保持我们所需的安全性。

另外感兴趣的是,从克雷格邓恩的博客…

ConceptDev(Craig Dunn的博客):MonoTouch符合WindowsPhone7

大多数情况下这是一个流水,你可以使用C#/ XNA来制作一个Windows / Xbox / WP7游戏,并可能使用Mono / MonoTouch的C#来实现OS X / iOS的实现。 Android目前还没有合适的单声道实现来支持这一点。

这并不意味着令人沮丧,MS也向社区提供了C#语言,所以这是正面的。

http://www.microsoft.com/interop/cp/default.mspx

我不是一个游戏开发专家,但在这里我的2美分,

你没有任何问题,在C#开发游戏目标的所有平台, 单声道C#运行成功,包括monodroid – andriod和MonoTouch – iPhone的所有上述平台。

但问题是特定于您要使用的图形库。 例如,Xbox库只针对Windows。 但是如果你坚持使用openGL,你可以解决这个问题。

你可能会更好地坚持C ++,iOS和Android有本地支持。

没有理由需要 C#,毕竟你可以使用Vb.net的ASP.net开发:)(不开玩笑,它是一个更好的语言,特别是考虑到嵌入式的XML支持VB)

但是,对于手机开发来说,我认为你们走的是跨平台开发的错误路线。 为此,你总是会得到80%的覆盖率,最后的20%将是一个痛苦。 例如,如果您选择C#,您将获得Windows和XBox,但不是Playstation和非常差的iPhone。

所以,你需要最低的常见demoninator – 这可能是C ++。 你可以把Qt GUI放在最上面(这个QML可能是目前最好的UI技术),并且可以在大多数平台上运行,包括Android。 但不是WinPhone7。 对于所有平台来说,C ++仍然是一个很好的选择,因为即使Windows将运行它(C ++ / CLI),无论如何,Objective-C和C ++之间都有一个简单的桥梁。 你最好的选择可能是走这条路(而且很多游戏开发都是用C ++完成的,所以不是浪费精力)。

机会是,你永远不会得到一个单一的代码库在所有平台上工作得很好。 也许JavaScript是最终的,尽管MS Bob Muglia表示他们不再专注于Silverlight,更喜欢使用HTML5 + javascript进行跨平台工作。