一款 C# 游戏统领他们(iOS、Android、WP7、W7、Mac OS X 和 XBOX)

Posted

技术标签:

【中文标题】一款 C# 游戏统领他们(iOS、Android、WP7、W7、Mac OS X 和 XBOX)【英文标题】:One C# game to rule them all(iOS, Android, WP7, W7, Mac OS X and XBOX) 【发布时间】:2011-05-03 06:51:21 【问题描述】:

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

显然 UI 必须进行调整,我非常怀疑这样的游戏是否真的能在这些平台上生存!

但是,尽管 C# 确实是 MS 很重,但通过不同的方法,这可以工作,对吧?或者,我是否必须将 C# 源代码更改为 Objective-C? android 是否有像 Apple 和 MS 一样支持的官方语言?

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

【问题讨论】:

这是一个白日梦,您可以使用 C#/XNA 制作 Windows/Xbox/WP7 游戏,并可能通过 Mono/MonoTouch 使用 C# 制作 OS X/ios 实现。 Android 目前没有合适的单声道实现来支持这一点。这根本不是令人沮丧的,MS 还向社区提供了 C# 语言。microsoft.com/interop/cp/default.mspx 你可以提交这个作为答案,但是,是的,我一直在研究它,但我会考虑关于 Android 的。 不会是 iOS 覆盖 iPod touch 和 iPhone 和 iPad 吗? 【参考方案1】:

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

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

还有一点背景...

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

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

重要的是,9 月 9 日,Apple 放宽了之前禁止使用 Monotouch 构建的应用在市场上发布的指导方针。

Statement by Apple on App Store Review Guidelines

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

同样感兴趣,来自 Craig Dunn 的博客...

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

【讨论】:

是的!我知道苹果发表了声明。我需要找到其他使用 monotouch 构建的应用程序,看看是否总是有延迟.. 您在 Android 方面的政策是正确的。 Android 的独特之处在于,开发者可以随心所欲地做我们想做的事,无论好坏。【参考方案2】:

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

这根本不是令人沮丧的,MS 还向社区提供了 C# 语言,所以这是积极的..

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

【讨论】:

【参考方案3】:

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

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

但问题是特定于您要使用的图形库。例如,Xbox 库仅针对窗口。但是如果你坚持使用openGL,你可能会解决问题。

【讨论】:

感谢 Mono 链接和 OpenGL 建议! 在您的问题中,我会和 Ramesh 说同样的话。通过 monotouch 和 monodroid,您可以选择在您提到的所有平台上执行 C#。你承认你必须单独处理 ui 层,所以这是给定的。 是的,但是,在下载使用 monotouch 制作的示例应用程序后,您几乎可以立即将使用 monotouch 构建的应用程序与标准的 Objective-c 应用程序区分开来。遗憾的是 大约一个月前我和 Craig Dunn 讨论过这个问题。如果我没有误解,我相信你仍然可以使用 Cocoa 作为 UI。在我查看此内容时,将相关链接添加到我的帖子中。【参考方案4】:

你最好还是坚持使用 C++,iOS 和 Android 都有本机支持。

【讨论】:

好吧,不过,为了 ASP.NET,我需要学习 C# 的基础知识,所以我认为能够用相同的语言编写一些游戏会很好。【参考方案5】:

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

但是,对于移动开发,我认为您走错了跨平台开发的道路。为此,您总是会获得 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 进行跨平台工作。

【讨论】:

嗯,你可以使用 VB.net,但对 C# 的支持要多得多,就像我说的,我至少可以为 XBOX、Windows 和 WP7 开发一个强大的前辈。我很欣赏你的回答,但并不完全同意你的看法。当然有更好的选择,但它可以工作。 值得一看的html5+javascript故事...即使只是针对UI层,它甚至可能是使ui层跨平台的解决方案,但它仍然是未来的计划.您仍然可以选择使用什么来实现引擎盖下的任何内容(如果适用,还可以在您的服务器上)。 关于目前Silverlight和BobMu的混乱,SteveB的说法也值得一看。 microsoft.com/presspass/press/2010/nov10/11-01Statement.mspx目前社区的解释有点模糊,可能需要一点时间才能看清楚。 ps - 我不认为 OP 说他需要 C#。想要,是的。不过,他也明确说明了他想要针对哪些平台,并且似乎很清楚他打算寻求该问题的答案。

以上是关于一款 C# 游戏统领他们(iOS、Android、WP7、W7、Mac OS X 和 XBOX)的主要内容,如果未能解决你的问题,请参考以下文章

无尽跑酷3D (Endless Run 3D) 苹果安卓版免费下载|iOS|Android|iPhone版本免费下载 - 休闲 3D游戏 跑酷游戏 竞速游戏

为什么云原生会统领 SaaS 服务?

霓虹都市(Neon City) 苹果版下载 | iOS版下载 | iPhone版本下载 | 游戏下载 | 手机游戏免费下载 | 安卓版免费下载 | Android版本免费下载 - 赛车游戏 赛车 竞速

纪念碑谷——一场寻找自我的旅程

iOS 和 Android 跨平台游戏开发 [关闭]

移动游戏客户端性能测试探索