当我下载MonoGame(我将在地方XNA的使用,因为我在Mac上),并把它解压缩,所有的MonoDevelop解决方案文件被命名为MonoGame.Framework.[PLATFORM NAME].sln
,用[PLATFORM NAME]
是,好了,该操作系统的名称。 而在代码教程是为每个平台不同,所以才出现,对于MonoGame应用到不同的机器上运行,它必须被移植。 它是否正确? 如果是这样,什么XNA的其他版本在那里为单声道,最好是在Xbox 360上的工作? 我见过MonoXNA,但它似乎没有足够成熟的这篇文章的使用。
Answer 1:
MonoGame通过提供在多个平台上的XNA API使你的代码跨平台的。 (不过,这并不让你的编译的二进制跨平台的公司,比如,Flash或Java会。)
MonoGame 本身不是跨平台的,在这个意义上,有各个平台版本的它-因为每个版本包含实现该平台XNA API需要大量的特定于平台的代码。
(虽然现实的MonoGame代码大量是跨平台的和不同MonoGame版本之间共享-因为它是,反过来,建立在象单声道,OpenGL和OpenAL的层,像MonoGame,提供具有不同的底层实现一致的API平台上。)
这是完全一样的微软官方XNA实现。 有3个不同版本的XNA库(在Windows,Xbox 360的,和Windows Phone)的。 它们都提供了XNA API。 并且使用XNA API代码可以对任何这些平台来构建。
MonoXNA是非常过时的,并且它的大部分有用的代码已经使它成为MonoGame反正。
据我所知,有使用单上运行OSX没有其他当前XNA实现。 有内胚 ,它采用单-但仅限于iOS和Android。
您只使用在Xbox 360上的XNA选择是使用微软的版本。 但是,这并不从还编译代码,针对MonoGame妨碍你。
文章来源: Is MonoGame really cross-platform?