显然,用户界面必须进行调整,我非常怀疑这样的游戏是否会在每个平台上生存下来!
但是,尽管C#真的是MS很重,通过不同的方法,这可能有用,对吧?或者,我是否必须将C#源更改为Objective-C? Android甚至还有他们支持的官方语言,如Apple和MS吗?
这是一个奇怪的问题,但如果这是真的,那么C#真的是一个很好的通用语言,尽管它主要基于MS并且得到了MS的支持。
答案 0 :(得分:11)
我决定发布答案,因为我想到了一些更相关的事情。
首先回答你的问题:是的,它会起作用。不,您不必移植到Objective-C。 Android的应用程序经常使用Java。
还有更多背景......
我在使用.Net,C#进行跨平台开发时听到MonoTouch和MonoDroid的好消息。
您已经接受了必须专门为每个平台处理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#语言,所以这是正面的。
答案 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进行跨平台工作。