首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MonoGame ContentManager类?

MonoGame ContentManager类?
EN

Stack Overflow用户
提问于 2016-12-05 18:55:53
回答 2查看 2.6K关注 0票数 0

我最近开始使用XNA的c#,并且正在向MonoGame过渡,因为我读到不再支持XNA。话虽如此,我在MonoGame中遇到了一个问题,当我试图在我的程序中为Sprite类创建Load()方法时,这个问题在XNA中是没有的。我在XNA中使用的方法如下:

代码语言:javascript
复制
public void Load(ContentManager content)
{
    content.Load<Texture2D>(AssetName);
}

现在我遇到的MonoGame的问题是,我似乎不能在我的Sprite类中引用ContentManager。这个类拥有我的Game1类所拥有的所有'using Microsoft.Xna.Framework‘,并且我的代码中没有任何东西是静态的,所以我不明白为什么我不能引用ContentManager,因为当我尝试将它放入Load()中时,它是无法识别的。在MonoGame中有没有不同的方法来做这件事,或者我没有正确引用它?

EN

回答 2

Stack Overflow用户

发布于 2016-12-07 16:41:02

嗯,我现在看不出有什么问题,但我会试着帮助你:

你可能已经尝试过右键单击/解析,但值得一提的是,在Monogame中加载内容与使用

  • 不同。你必须使用内置的管道工具并将内容传输到那里,不要忘记在上传新纹理时每次都要构建它。Content.RootDirectory?

未发生任何更改,

只是提个醒,以确保你已经做到了。希望这也能帮到你。

票数 1
EN

Stack Overflow用户

发布于 2016-12-05 21:44:40

假设您引用了MonoGame.Framework.dll或NuGet包,那么代码没有什么特别之处。它应该看起来像这样:

代码语言:javascript
复制
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);
        }
    }
}

我只是在我自己的项目中编写了这些代码,它就可以编译了。如果它对你不起作用,那一定是其他地方出了问题。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40972599

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档