将monogame中的纹理加载为非内容文件时出错

时间:2015-06-17 05:11:55

标签: xna monogame

所以基本上我正在制作一个小型测试游戏,我有一个用于创建游戏中所有实体的类,所以我将类传递给对象Player并运行此代码:

protected override void LoadContent()
{
  spriteBatch = new SpriteBatch(GraphicsDevice);
  font = Content.Load<SpriteFont>("LCD");
  Player.Sprite = Content.Load<Texture2D>("Sprites/Player");
}

但由于某种原因,每次我尝试调试并运行它时,它都会给我一个奇怪的错误,因为在错误没有显示之前它会正常运行,这就是错误所说的:

  

ContentLoadException未处理

     

无法将Sprites / Player资源加载为非内容文件!

我在内容文件夹中有一个名为&#34; Sprites&#34;的文件夹。正如它的名字所暗示的那样,拥有我的精灵,所有拼写都正确完成。我无法弄清楚为什么这个问题仍然存在。

3 个答案:

答案 0 :(得分:1)

了解您如何添加资产,如何添加资产,以及项目结构以充分了解问题的根源,这对我很有帮助。

无论如何,我有一篇博文可能对解决这个问题有用,它是用Monogame 3.2编写的,如果我没记错的话,并解释了如何使用XNA和Monogame创建一个非常简单的2D游戏。

在本系列中,与您的案例相关的是以下块,说明如何将图像资源添加到您的游戏项目中。请记住,精灵图像的路径将与我的示例中的路径不同,因为您拥有&#34; Sprites&#34;子目录。

  

您需要右键单击解决方案中的Content文件夹   浏览器,选择Add Existing Item选项,然后选择   图像。

     

鉴于Monogame的工作方式与XNA不同   管理内容管道,你将不得不改变   图像的属性,以便框架识别它。至   这样做,选择图像并导航到它的属性(F4 in   Visual Studio,或右键单击 - &gt;属性)。

     

更改它以便将图像复制到输出文件夹(如果是)   新。

enter image description here

您可以找到完整的博客文章here

答案 1 :(得分:0)

检查字符串是否有错误。如果我是正确的,当我把一些不应该的东西用于资本化时,我会看到很多错误。

字符串:"Sprites/Player"

答案 2 :(得分:0)

我想出了问题,你看我根本没有让资源“复制”,它需要复制一次才能进入MonoGame项目文件夹,我知道Rookie错误但至少这会帮助其他人获得和我一样,感谢所有试图帮助解决这个问题的人,感谢您的时间。