我在Monogame中使用OpenGL制作一个太空入侵者游戏,我试图加载我添加到内容文件夹的纹理(它是一个名为“入侵者”的PNG文件)
我使用的代码是:

invader = Content.Load<Texture2D>("Invader");

然而,当我试图运行它时,它会说:
未处理ContentloadException无法将入侵者加载为
非内容文件!

最佳答案

我正试图加载一个纹理,我已经添加到内容文件夹(它是一个称为“入侵者”的PNG文件)
入侵者=content.load(“入侵者”);
实际上,您可以直接加载已添加到内容文件夹的PNG内容,如下所示:

invader = Content.Load<Texture2D>("Invader");

请注意,在某些平台上,文件名是case senitive,因此请注意它与case senitive完全匹配。此外,请确保已在“属性”窗口中将文件设置为“内容/复制(如果较新)”。
另一种方法是使用XNA Game Studio Content PipelineMonoGame Content Pipeline将资产编译成优化的二进制xnb文件。这将为您提供更好的性能,但会带来额外的开发开销。
我还应该提到,当将精灵呈现为原始png文件时,应该在调用BlendState.NonPremultiplied时使用SpriteBatch.Begin以获得最佳结果。我在我的比赛中一直这样做了一段时间,我对结果很满意。

关于c# - C#MonoGame帮助吗? (Content.Load <的Texture2D>(“入侵者”);),我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17953880/

10-09 05:10