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

时间:2010-11-01 05:46:41

标签: c# android windows ios windows-phone-7

嘿,我正在学习C#,只是想到了一个很酷的主意。考虑到游戏很简单。比方说,一个经典的文字输入风格游戏的翻拍,理论上可以将C#游戏移植到我上面列出的所有平台上,原始源代码几乎没有变化,对吗?

显然,用户界面必须进行调整,我非常怀疑这样的游戏是否会在每个平台上生存下来!

但是,尽管C#真的是MS很重,通过不同的方法,这可能有用,对吧?或者,我是否必须将C#源更改为Objective-C? Android甚至还有他们支持的官方语言,如Apple和MS吗?

这是一个奇怪的问题,但如果这是真的,那么C#真的是一个很好的通用语言,尽管它主要基于MS并且得到了MS的支持。

5 个答案:

答案 0 :(得分:11)

我决定发布答案,因为我想到了一些更相关的事情。

首先回答你的问题:是的,它会起作用。不,您不必移植到Objective-C。 Android的应用程序经常使用Java。

还有更多背景......

我在使用.Net,C#进行跨平台开发时听到MonoTouchMonoDroid的好消息。

您已经接受了必须专门为每个平台处理UI图层,因此您正走在正确的道路上。

重要的是,在9月9日,Apple放宽了他们的指导方针,这些指导方针先前阻止了使用Monotouch构建的应用程序在市场上发布。

Statement by Apple on App Store Review Guidelines

  

特别是,我们放松了对开发工具的所有限制   用于创建iOS应用程序,只要   生成的应用程序不下载任何   码。这应该给开发人员   他们想要的灵活性   保留我们需要的安全性。

还有兴趣,来自Craig Dunn的博客......

ConceptDev (Craig Dunn's blog): MonoTouch meet WindowsPhone7

答案 1 :(得分:6)

主要是它是一个白日梦,您可以使用C#/ XNA制作Windows / Xbox / WP7游戏,并可能通过Mono / MonoTouch使用C#来实现OS X / iOS。 Android目前没有合适的单声道实现来支持这一点。

这根本不是令人沮丧的,MS也已经向社区提供了C#语言,所以这是正面的。

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

答案 2 :(得分:4)

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

在所有平台的c#目标中开发游戏都没有任何问题,mono c#在所有上述平台中成功运行,包括monodroid - andriod和MonoTouch - iphone。

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

答案 3 :(得分:1)

你可能最好坚持使用C ++,iOS和Android都支持C ++。

答案 4 :(得分:1)

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

然而,对于移动开发,我认为你的跨平台开发走错了路。为此,你总是会获得80%的覆盖率,最后20%将是一个痛苦。例如,如果您选择C#,您将获得Windows和XBox,但不会使用Playstation和非常差的iPhone。

所以,你需要最低级的共同演示者 - 这可能是C ++。您可以将Qt GUI放在首位(使用优秀的QML,这可能是目前最好的UI技术),并且可以在大多数平台上运行 - 包括Android。但不是WinPhone7。对于所有平台来说,C ++仍然是一个不错的选择,因为即使是Windows也会运行它(C ++ / CLI),无论如何,Objective-C和C ++之间的桥梁很容易。你最好的选择可能是走这条路(而且很多的游戏开发都是用C ++完成的,所以不要浪费精力)。

但是,您可能无法让所有平台上的单个代码库运行良好。也许javascript将是最终的,因为MS'Bob Muglia has said他们不再关注Silverlight了,更喜欢使用HTML5 + javascript进行跨平台工作。