我正在 MonoGame 中使用 Open GL 制作太空入侵者游戏,并且尝试加载已添加到内容文件夹中的纹理(这是一个名为“Invader”的 PNG 文件)
我使用的代码是:
invader = Content.Load<Texture2D>("Invader");
但是,当我尝试运行它时,它说:
ContentLoadException 未处理
无法将 Invader 加载为
非内容文件!
我正在尝试加载已添加到内容文件夹中的纹理(它是一个名为“Invader”的 PNG 文件)
入侵者 = Content.Load("入侵者");
实际上,您可以直接加载已添加到 Content 文件夹中的 PNG 内容,如下所示:
invader = Content.Load<Texture2D>("Invader");
注意文件名is在某些平台上区分大小写,因此请注意它是否完全匹配。另外,请确保您已在“属性”窗口中将文件设置为内容/复制(如果较新)。
另一种方法是使用以下命令将您的资源编译为优化的二进制 XNB 文件XNA 游戏工作室内容管道 http://msdn.microsoft.com/en-us/library/bb447745.aspx or the MonoGame 内容管道 https://github.com/mono/MonoGame/wiki/Content-Build-Pipeline。这将为您提供更好的性能,但会带来额外的开发开销。
我还应该提到,当将你的精灵渲染为原始 PNG 文件时,你应该使用BlendState.NonPremultiplied http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.blendstate_fields.aspx在通话中SpriteBatch.Begin http://msdn.microsoft.com/en-us/library/microsoft.xna.framework.graphics.spritebatch.begin.aspx以获得最佳结果。我在游戏中这样做已经有一段时间了,我对结果非常满意。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)