使用Monogame设置项目跨平台

4
我一直在尝试找出如何为MonoGame设置跨平台项目的方法。传统的方法是什么? 是否可以通过共享项目来实现,并且我可以将所有内容保存在一个项目中?
此外,我不确定这些信息是否正确,我需要Mac来构建我的Mac项目,那该怎么办?如果需要,最佳设置方法是什么?
目标平台:WINDOWS、LINUX、MAC。
2个回答

4
我认为设置跨平台MonoGame项目的最佳方法是使用共享项目。共享项目还可以包含.mgcb文件,因此您不需要复制内容。如何操作:
  1. 使用“Xamarin Studio/MonoDevelop”创建一个名为游戏名称的“MonoGame Shared Project”
    • 如果您要使用“Visual Studio”,请在此之后关闭“Xamarin Studio/MonoDevelop”,然后使用它打开创建的项目
    • 您需要将生成的“Content\Content.mgcb”文件包含进来,并将构建操作设置为“None”,这样它就会在项目视图区域中显示
  2. 为您希望启动游戏的平台添加一个MonoGame项目,例如创建一个名为“(gamename).DesktopGL”的“MonoGame Crossplatform Project”
  3. 从平台项目中删除“Game1.cs”和“Content Folder”
  4. 添加对共享项目的引用
  5. 对于平台项目,在选项中将输出程序集名称设置为与共享项目相同
    • 这一步可能看起来不重要,但如果您正在使用自定义导入器/处理器,则可以避免为每个平台单独编译内容。
这样,您现在应该能够运行项目了。

此外,我不确定这些信息是否正确,我是否需要Mac来构建我的Mac项目?如果是这样,最好的设置方法是什么?

即使从Windows编译,DesktopGL项目创建的可执行文件也可以在Mac上运行,Mac用户只需使用Mono启动它。如果需要,您可以使用MonoKickstart打包游戏,以便您的Linux和Mac用户无需安装mono:https://github.com/MonoGame/MonoKickstart,此外,它还包括其他所需的本地库。如何使用它的说明在链接中。

1

由于您的目标平台仅为Windows、Linux和Mac,因此您可以使用适用于所有三个目标平台的Xamarin/MonoDevlop

安装完成后,通过插件管理器添加Monogame。该插件适用于Xaramin和MonoDevlop的第5个版本。

假设您使用OpenGL模板,则可以在所有三个平台之间使用相同的解决方案项目文件。我使用这种方法在Windows和Linux之间进行开发。

唯一需要使用共享项目或类似项目的情况是,如果您开始为移动设备(iOS/Android)或Windows上的DirectX而不是OpenGL进行开发。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接