3

嘿,

我有一个小问题。当前可用的 Monogame 3.2 版本没有适用于 Windows Phone 8 的工作模板。这将导致黑屏和无法运行的应用程序。所以我去了他们的 git hub,发现了这个问题https://github.com/mono/MonoGame/pull/2089并且有人修复了它并发布了一个拉取请求。

现在的问题是我在构建自己的版本或编辑项目模板文件方面的经验几乎为零。我得到了一些常识并开始深入研究这一切,并且已经尝试将模板文件复制到我的 Visual Studio 文件并构建项目并抛出新的 .DLL ,但这一切都不想正常工作。我开始使用旧模板,但我需要新版本,因为我们需要在我们的游戏中使用 windows phone 8 中的横向支持。

现在是我的问题,如果有人知道正确/正确的方法来做到这一点。一个简短的总结,从哪里复制什么。

提前致谢。

4

3 回答 3

2

好的,我花了一些时间,但我想出了要复制、构建、设置和运行的内容。

您下载 .Zip 或使用您的 Github 将其拉入一个空文件夹,完成后将其解压缩。

  1. 在地图中打开 MonoGame.Framework 或 MonoGame.Framework.“你的目标平台”,这将启动 Visual Studio。
  2. 构建解决方案/项目(如果启用和需要,不要忘记在 ARM、x86 和 x64 中构建)并导航到“提取文件夹”/MonoGame.Framework/bin/“您的目标平台”同时打开一个新的资源管理器并默认导航到您的 MonoGame 安装 C:\Program Files (x86)\MonoGame\v3.0
  3. 在提取的文件夹中导航到目标平台,然后构建 MonoGame.Framework.dll 并将其复制到对面的 C:\Program Files (x86)\MonoGame\v3.0\Assemblies\“targeted platform”\“build”</li >
  4. 重建您的项目/解决方案

Gratz 你现在更新了你的 MonoGame :)

这可以解决您的问题,但在您的手机或模拟器 DXGI 相关的应用程序上初始化您的应用程序时,您仍然可能会遇到错误。如果发生这种情况,请按照以下步骤操作。问题可能出在你的 SharpDX.WP8.dll 如何解决这个问题?就我而言,下载并安装最新的 SharpDX http://sharpdx.org/download/您还可以进一步了解如何仅下载 SharpDX.WP8.dll 和 .winmd!

  1. 导航到您的 SharpDX 安装(默认为 C:\Program Files (x86)\SharpDX),进一步导航到 Bin\DirectX11_1-“platform”-“build”\ 并将 SharpDX.WP8.dll 和 .winmd 复制到 C:\Program文件 (x86)\MonoGame\v3.0\Assemblies\WindowsPhone\”build”</li>
  2. 重建您的项目/解决方案(如果这仍然不起作用,您可能需要再次手动将引用添加到 SharpDX.WP8.winmd 以进行两个构建)

因此,如果没问题,这应该可以解决大多数问题,但还剩下一个。在 MonoGame 3.0.x 和 3.2 之间,windows phone 游戏的项目模板发生了变化,但这在代码中并不顺利。所以我们现在要更新 Visual Studio 的项目模板。

  1. 返回到您提取的 Monogame 地图并进入文件夹“ProjectTemplates”\“您的 Visual Studio 版本”\WindowsPhone
  2. 选择所有文件并创建一个 .Zip(可以通过集成的 Windows 选项“发送到”来完成)确保当您打开 .Zip 时,您会立即看到所有文件,并且它们没有嵌套在 .Zip 内的文件夹中
  3. 导航到 C:\Users\“您的 PC 名称”\Documents\Visual Studio 201X\Templates\ProjectTemplates\Visual C#\MonoGame 并复制您刚刚创建的 .Zip 并覆盖现有文件。

如果您使用不同版本的 Visual Studio,因为 VS2013 中缺乏对 XNA 的支持,您可能必须遵循这些步骤。现在你应该已经解决了任何可能的问题。如果您的项目仍然出现错误,请尝试重新创建一个新的(这现在将使用您刚刚复制粘贴的新更新模板并且可以工作)如果这仍然不起作用,请发布问题所在,但这一切都应该做!这些说明也应该适用于所有其他平台(至少您当然可以构建)

于 2013-11-20T11:56:44.880 回答
0

很容易将其拉入您自己的版本。

跟着这些步骤:

  1. 分叉 Monogame 存储库
  2. 将您的版本克隆到本地计算机
  3. 找到固定代码的存储库。
  4. 在命令提示符下,移动到您的MonoGame文件夹,并在您的机器上使用此行提取更改。(分支很可能是master)

git pull http://github.com/other/repo branch_name

将拉取请求拉入本地分支后,只需使用 Visual Studio 构建它。

如果您认为自己会经常这样做,也可以按照这些步骤操作。

https://help.github.com/articles/syncing-a-fork

于 2013-11-13T15:36:57.773 回答
0

出于某种原因,我无法让您的解决方案正常工作,因为缺少一些拒绝手动添加的 SharpDX 参考。虽然您的解决方案可能有效,但如果您有耐心将代码转移到 Monogame 3.2 项目并且仍然出现黑屏,我想提出一个替代方案:

在 GamePage.xaml 中将 DrawingSurface 设置为 DrawingSurfaceBackgroundGrid。完整的详细信息可在 GamePage.xaml 文件底部的注释说明中找到。

来源:https ://github.com/mono/MonoGame/issues/2081

于 2014-02-11T06:35:26.003 回答