MonoGame ContentManager class?
我最近开始使用XNA进行c#编程,因为我已经知道不再支持XNA,所以我正过渡到MonoGame。话虽如此,当我尝试在程序中为Sprite类创建Load()方法时,我遇到了XNA所没有的MonoGame问题。我以前在XNA中执行此操作的方式如下:
1 2 3 4 | public void Load(ContentManager content) { content.Load<Texture2D>(AssetName); } |
现在,MonoGame存在的问题是我似乎无法在Sprite类中引用ContentManager。该类具有Game1类拥有的所有"使用Microsoft.Xna.Framework",并且代码中没有任何内容是静态的,因此我不明白为什么我不能引用ContentManager,因为在尝试将其放入时无法识别Load()。在MonoGame中有其他方法可以执行此操作,还是我没有正确引用它?
嗯,我没有立即看到此问题,但我会尽力提供帮助:
-
您可能已经尝试过右键单击/解决,但是还是值得一提。
-
请注意,在Monogame中加载内容与使用XNA不同。您必须使用内置管道工具并将内容传输到那里,不要忘记每次上传新纹理时都进行构建。
-
Content.RootDirectory是否没有更改?
请单挑一下以确保您已完成操作。希望这也会对您有所帮助。
假设您已经引用了
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; namespace YourGameProject { public class Sprite { public string AssetName { get; set; } public void Load(ContentManager content) { content.Load<Texture2D>(AssetName); } } } |
我只是在自己的项目中编写了该代码,然后进行了编译。如果对您不起作用,那么肯定有其他问题。