C#MonoGame帮助? (Content.Load (“入侵者”);)

我在MonoGame中使用Open GL制作太空侵略者游戏,我正在尝试加载我添加到Content文件夹的纹理(这是一个名为“Invader”的PNG文件)
我使用的代码是:

invader = Content.Load("Invader"); 

但是,当我试图运行它时它说:

ContentLoadException未处理
无法将Invader加载为非内容文件!

我正在尝试加载我已添加到Content文件夹的纹理(它是一个名为“Invader”的PNG文件)invader = Content.Load(“Invader”);

实际上,您可以直接加载已添加到“内容”文件夹的PNG内容,如下所示:

 invader = Content.Load("Invader"); 

请注意,在某些平台上,文件名区分大小写的,因此请注意它完全匹配。 此外,请确保在“属性”窗口中将文件设置为“内容/复制”(如果较新)。

另一种方法是使用XNA Game Studio内容管道或MonoGame内容管道将资产编译为优化的二进制XNB文件。 这将为您提供更好的性能,但会带来额外的开发开销。

我还要提一下,在将精灵渲染为原始PNG文件时,应该在调用SpriteBatch.Begin时使用BlendState.NonPremultiplied以获得最佳效果。 我已经在游戏中这样做了一段时间,我对结果非常满意。

MonoGame没有完全实现内容管理器。 通常,您单独构建内容,并将构建的内容文件导入到项目中。 然后你可以像往常一样加载它们。

要构建内容文件,您可以使用XNA或MonoGame内容构建器,例如此内容。 如果您愿意,可以使用命令行作为项目构建过程的一部分,以便自动构建内容。

确保您的构建操作设置为相关.png的内容。 通过右键单击文件并选择属性来执行此操作。