MonoGame真的跨平台吗?

2024-05-06

当我下载 MonoGame(我将使用它来代替 XNA,因为我使用的是 Mac)并解压它时,所有 MonoDevelop 解决方案文件都被命名为MonoGame.Framework.[PLATFORM NAME].sln, with [PLATFORM NAME]是操作系统的名称。和代码教程 https://github.com/mono/MonoGame/wiki/Tutorials每个平台的情况都不同,因此似乎 MonoGame 应用程序要在不同的计算机上运行,​​就必须对其进行移植。它是否正确?如果是这样,XNA 还有哪些其他版本适用于 Mono,最好能在 Xbox 360 上运行?我见过 MonoXNA,但截至本文为止,它似乎还不够成熟,无法使用。


MonoGame 使你的代码通过在多个平台上提供 XNA API 来实现跨平台。 (但它并不会让你编译的binary跨平台,例如 Flash 或 Java。)

单机游戏itself不是跨平台的,因为每个平台都有一个版本 - 因为每个版本都包含为该平台实现 XNA API 所需的大量特定于平台的代码。

(尽管实际上有大量的 MonoGame 代码is跨平台并在不同的 MonoGame 版本之间共享 - 因为它反过来又构建在 Mono、OpenGL 和 OpenAL 等层上,这些层与 MonoGame 一样提供一致的 API,并在平台上提供不同的底层实现。)

这与微软官方的XNA实现完全相同。 XNA 库有 3 个不同版本(Windows、Xbox 360 和 Windows Phone)。他们都提供XNA API。您可以为任何这些平台构建使用 XNA API 的代码。


MonoXNA 已经过时了,而且它的大部分有用代码都已经进入了 MonoGame 中。

据我所知,当前没有其他 XNA 实现使用 Mono 在 OSX 上运行。有ExEn http://andrewrussell.net/exen/,它使用 Mono - 但仅适用于 iOS 和 Android。

在 Xbox 360 上使用 XNA 的唯一选择是使用 Microsoft 的版本。但这并不妨碍您针对 MonoGame 编译代码。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

MonoGame真的跨平台吗? 的相关文章

随机推荐