Monogame Content管道不起作用

时间:2013-05-18 14:08:22

标签: xna monogame

我无法理解如何设置monogame内容项目..请教,帮帮我:) 我试着读这些东西:https://github.com/mono/MonoGame/wiki/MonoGame-Content-Processing 但不能使这个工作......

我在做什么:

  • 创建MonoGame项目。
  • 将新项目添加到解决方案“MonoGame Content”
  • 更改主项目文件,添加输入平台选项
  • 在主项目的引用中添加内容项目。

然后我将some.png文件添加到内容项目中,这就是我所看到的:

http://richinside-games.net/my/mono.jpg

我没有MonoGame歌曲,MonoGame纹理等......

有人可以告诉我,如何逐步设置monogame内容吗?

PS。对不起我的英文,请。

2 个答案:

答案 0 :(得分:7)

由于MonoGame的开发人员不想从XNA重写内容管道,他们只是重用它。这就是为什么当你创建一个MonoContentProject时它添加了2个项目。 1是XNA扩展(the_GameContent),它具有引用XNA内容项目的能力,另一个是XNA内容项目本身(the_GameContentContent)。您需要在游戏项目中引用的是扩展名(the_GameContentContent)。至于无法看到正确的处理器是因为MonoGameContentProcessors Reference搞砸了,需要删除。

我发现使用XNA 4.0 Content Compiler在Visual Studio之外编译内容更容易,更简单。然后在游戏项目中创建一个名为Content的文件夹,只需将编译后的内容作为嵌入资源添加到该文件夹​​中,并在LoadContent期间将其导出;

我目前正在研究ContentPipeline的重写简化版本,以便与MonoGame一起使用。因为内置的内容几乎不可能创建自定义内容。

答案 1 :(得分:0)

您可以点击this链接查看解释。

基本上你必须在解决方案中添加一个MonoContent项目,编辑GAME .csproj文件以在<Import Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.ContentPipeline.targets" />标记中包含<Project>,在<MonoGamePlatform>Windows</MonoGamePlatform>中添加<PropertyGroup>标签,例如:

<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Import Project="$(MSBuildExtensionsPath)\MonoGame\v3.0\MonoGame.ContentPipeline.targets" /> <PropertyGroup> <MonoGamePlatform>Windows</MonoGamePlatform>

然后,您需要确保内容处理器在Program Files (x86)/MonoGame/v3.0/MonoGame.ContentPipeline.targets处可用。这些的来源在回购中,可以从visual studio构建,并存放在那里。

毕竟,它应该像往常一样,但对于其他目标平台来说,事情会变得有点棘手,维基解释了所有。