Xamarin.Android可以用来开发Android游戏吗?

Can Xamarin.Android be used to develop Android games?

我已经用 Xamarin.iOS 成功开发了一个 iOS 游戏。

现在,有人能告诉我 Xamarin.Android 是否可以用来开发 Android 游戏吗?在 Xamarin 网站上,当我搜索 Xamarin.Android 的游戏示例时,我只能看到使用跨平台工具开发的游戏示例,例如 MonoGameCocosSharpUrhoSharp。我没有看到专门使用 Xamarin.Android 框架开发的游戏示例代码。

请问:Xamarin.Android可以用来开发游戏吗?还是 Xamarin.Android 不能用于开发 Android 游戏,而是必须使用 Xamarin 网站上列出的其他工具,例如 MonoGameCocosSharpUrhoSharp 为 Android 设备开发游戏?

非常感谢。

是的,Xamarin.Android可以用来开发Android游戏。尽管看起来可能不是这样,但 Xamarin.Android 在使用例如 UrhoSharp 时仍在幕后工作。

查看 UrhoSharp 示例,您可以看到 Android sample 如何拥有熟悉的 MainActivity class 以及许多 Xamarin.Android 内容。

与 MonoGame 相同。您仍然需要定义主启动器并处理 Android 应用程序生命周期内容。这是来自 MonoGame 示例的 Activity class。

为了更好地了解事情是如何运作的,这里有一些关于 MonoGame 和 Xamarin.Android 如何携手合作的细节:

  1. Xamarin.Android 的所有 MonoGame 游戏都创建了一种名为 AndroidGameActivity 的特定类型 Activity
  2. AndroidGameActivity 包含 MonoGame 的 Game 对象,用于处理内容、更新、呈现和其他内容。这就是所有 MonoGame 具体的。
  3. AndroidGameActivity 处理基本的 activity 生命周期方法,如 OnPause 和 OnResume。这都是 Xamarin.Android 具体的。

值得注意的是,您不一定需要任何游戏 engines/frameworks 来开发使用 Xamarin.Android 的游戏。例如,您可以构建仅使用 Android UI 控件的策略游戏,或者构建仅需要 EditTextTextView 控件的文字游戏。

您也可以 draw some simple 2D shapes,但是要构建更复杂的游戏,需要像 OpenGL 这样的东西。这就是 MonoGame、UrhoSharp 和其他库发挥作用的时候了。