【问题标题】:Setup project Cross-Platform with Monogame使用 Monogame 设置项目跨平台
【发布时间】:2016-06-16 21:27:09
【问题描述】:
我一直在试图弄清楚如何为 MonoGame 设置跨平台项目。这样做的传统方式是什么?
这是通过共享项目完成的吗?我可以将所有内容保存在 1 个项目中吗?
我也不确定这些信息是否正确,我需要一台 Mac 来为 Mac 构建我的项目,这是如何工作的?如果是这样,最好的设置方法是什么。
目标平台:WINDOWS、LINUX、MAC
【问题讨论】:
标签:
linux
windows
macos
cross-platform
monogame
【解决方案1】:
设置跨平台 MonoGame 项目 IMO 的最佳方式是使用共享项目。共享项目还可以包含 .mgcb 文件,因此您也无需复制内容。怎么做:
- 使用“Xamarin Studio/MonoDevelop”并使用您的游戏名称创建一个“MonoGame 共享项目”
- 如果您要使用“Visual Studio”,请在此之后关闭“Xamarin Studio/MonoDevelop”,然后用它打开创建的项目
- 您必须将生成的“Content\Content.mgcb”文件包含在构建操作“无”中,以便在项目视图区域中可见
- 为您希望从中启动游戏的平台添加一个 MonoGame 项目,即。创建一个“MonoGame Crossplatform Project”并将其命名为“(gamename).DesktopGL”
- 从平台项目中删除“Game1.cs”和“内容文件夹”
- 为您的共享项目添加参考
- 对于您的平台项目,在选项中将输出程序集名称设置为与您的共享项目相同
- 这一步可能看起来并不重要,但如果您使用的是自定义导入器/处理器,这将使您不必为每个平台单独编译内容。
你去吧,你现在应该可以运行你的项目了。
我也不确定这些信息是否正确,我需要一台 Mac 来为 Mac 构建我的项目,这是如何工作的?如果是这样,最好的设置方法是什么。
从 DesktopGL 项目创建的可执行文件即使在从 Windows 编译时也可以在 Mac 上运行,Mac 用户只需使用 Mono 启动它。如果您希望可以使用 MonoKickstart 打包您的游戏,这样您的 Linux 和 Mac 用户就不必安装单声道:https://github.com/MonoGame/MonoKickstart 更重要的是,它还包括其他所需的本机库。如何使用它的说明在链接中。
【解决方案2】:
由于您只是针对 Windows、Linux 和 Mac,您可以使用在所有三个目标平台上运行的 Xamarin/MonoDevlop。
安装后,通过插件管理器添加 Monogame。 Xaramin 和 MonoDevlop 第 5 版的插件。
然后,假设您使用 OpenGL 模板,您可以在所有三个平台之间使用相同的解决方案项目文件。我使用这种方法在 Windows 和 Linux 之间进行开发。
您唯一需要使用共享项目或类似项目的情况是,您开始在 DirectX 而不是 OpenGL 上为 Mobile (iOS/Android) 或 Windows 进行开发。