且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

MonoGame真的是跨平台的吗?

更新时间:2023-02-13 23:08:24

MonoGame通过在多个平台上提供XNA API,使您的代码跨平台. (但是,它不会使您编译的 binary 跨平台像Flash或Java那样跨平台.)

MonoGame makes your code cross-platform by providing the XNA API on multiple platforms. (But it does not make your compiled binary cross-platform like, say, Flash or Java would.)

MonoGame 本身并不是跨平台的,因为每个平台都有一个版本-每个版本都包含实现XNA API所需的大量特定于平台的代码该平台.

MonoGame itself is not cross-platform, in the sense that there is a version of it for each platform - as each version contains a large amount of platform-specific code required to implement the XNA API for that platform.

(尽管实际上大量的MonoGame代码 是跨平台的,并且在不同的MonoGame版本之间共享-因为反过来,它是建立在Mono,OpenGL和OpenAL等图层上,而MonoGame这样的图层,为平台上不同的底层实现提供一致的API.)

(Although in reality substantial amount of MonoGame code is cross-platform and shared between different MonoGame versions - because it is, in turn, built on layers like Mono, OpenGL and OpenAL that, like MonoGame, provide a consistent API with a different underlying implementation on platform.)

这与Microsoft的官方XNA实施完全相同. XNA库有3个不同版本(Windows,Xbox 360和Windows Phone).它们都提供XNA API.使用XNA API的代码可以在任何这些平台上构建.

This is exactly the same as Microsoft's official XNA implementation. There are 3 different versions of the XNA library (Windows, Xbox 360, and Windows Phone). They all provide the XNA API. And your code that uses the XNA API can be built for any of those platforms.

MonoXNA已经过时了,它的大部分有用代码无论如何都已将其纳入MonoGame.

MonoXNA is pretty out of date, and most of its useful code has made it into MonoGame anyway.

据我所知,目前还没有其他使用Mono在OSX上运行的XNA实现.有 ExEn ,它使用Mono-但仅适用于iOS和Android.

As far as I know there are no other current XNA implementations that use Mono to run on OSX. There's ExEn, which uses Mono - but only for iOS and Android.

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

Your only option for using XNA on Xbox 360 is to use Microsoft's version. But this doesn't preclude you from also compiling your code against MonoGame.