【问题标题】:Error loading textures in monogame as non content files在单人游戏中将纹理加载为非内容文件时出错
【发布时间】:2020-02-18 07:49:03
【问题描述】:

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

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

但由于某种原因,每次我尝试调试和运行它时,它都会给我一个奇怪的错误,因为在错误没有显示之前它会运行良好,这是错误的内容:

ContentLoadException 未处理

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

我在内容文件夹中有一个名为“Sprites”的文件夹,它的功能与它的名字所暗示的完全一样,包含我的精灵,并且所有拼写都正确完成。我不知道为什么这个问题仍然存在。

【问题讨论】:

  • 如果内容路径包含反斜杠而不是正斜杠,会有什么不同吗?

标签: xna monogame


【解决方案1】:

如果我知道您是如何添加资产的,它在哪里配置了哪些属性,以及项目结构,以完全了解问题的根源,这对我很有帮助。

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

在该系列中,可能与您的情况相关的是以下块,说明如何将图像资产添加到您的游戏项目中。请记住,精灵图像的路径与我的示例中的路径不同,因为您有“Sprites”子文件夹。

需要在解决方案中右键Content文件夹 资源管理器,选择 Add Existing Item 选项,然后选择 图片。

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

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

您可以找到完整的博客条目here

【讨论】:

  • 哇,谢谢你的教程系列实际上只是我正在寻找的,我打算在我解决这个问题之后最终添加一个背景,无论如何这是我的问题的截图+我的图像的属性,请记住,它仅在我调试时显示,而在我自己编程时根本不显示,就像正常的语法错误一样,两个文件具有相同的属性,不,我暂时不打算编辑到 Player.png,所以我不打算设置它作为“如果更新则复制”。 dropbox.com/s/ujjo58jk07fzy6m/Monogame%20error.PNG?dl=0
  • 如果您不将其设置为“如果较新则复制”,那么内容管道将无法找到它并将其加载到您的游戏中。如果更新则复制意味着如果您更改映像,将部署新的映像,而将其设置为“不复制”意味着它将永远不会被部署。因此,Monogame 不会在需要加载它时准备好它。如果它是 XNA(现在不记得它的细节),那可能会起作用,但不应该与 Monogame 一起使用。这不是一个偏好的事情,这是一个要求!需要在某个时间部署图像,以便 Monogame 找到它。
【解决方案2】:

检查您的字符串是否有错误。如果我是正确的,当我大写不应该的东西时,我经常看到这个错误。

字符串:"Sprites/Player"

【讨论】:

  • 我的字符串与文件位置和文件夹的字符串完全匹配,但是我更改了它以转义转义字符前言斜杠“\”,所以它现在看起来像这个“Sprites\\Player”但出于某种原因这仍然不能解决主要问题...
  • 它应该毫无问题地使用斜线。 Nahuel 的答案确实是您想要的。如果更新,请确保执行该复制! :D
【解决方案3】:

我发现了问题,你看我根本没有“复制”资源,它需要复制一次才能将它放入 MonoGame 项目文件夹,我知道新手错误,但至少这会帮助其他人像我一样卡住了,感谢所有试图帮助解决此问题的人,感谢您的宝贵时间。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-28
    • 1970-01-01
    相关资源
    最近更新 更多