未找到资产XNA未找到资产XNA(Asset not found XNA)

2019-05-12 10:39发布

我很新的XNA,我开始按照在屏幕上绘制图像的教程。 我能到我的图像移动到文件夹的内容,但是当我尝试在我的代码中使用它,它不能被发现。

我使用的是资产的名字,我只是找不到我在做什么错。 本教程采用XNA 3.0和我使用Visual Studio 2010,不知道的事项或没有。

这里是我的代码

public class Game1 : Microsoft.Xna.Framework.Game
{
    Vector2 mPosition = new Vector2(0, 0);
    Texture2D mSpriteTexture;

    GraphicsDeviceManager graphics;
    SpriteBatch spriteBatch;

    public Game1()
    {
        graphics = new GraphicsDeviceManager(this);
        Content.RootDirectory = "Content";
    }


    protected override void Initialize()
    {
        base.Initialize();
    }

    protected override void LoadContent()
    {
        spriteBatch = new SpriteBatch(GraphicsDevice);

        mSpriteTexture = Content.Load<Texture2D>("Face");
    }


    protected override void UnloadContent()
    {
    }

    protected override void Update(GameTime gameTime)
    {

        if (GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
            this.Exit();


        base.Update(gameTime);
    }

    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.Clear(Color.Black);

        spriteBatch.Begin();
        spriteBatch.Draw(mSpriteTexture, mPosition, Color.White);
        spriteBatch.End();

        base.Draw(gameTime);
    }
}

}

错误读取“被未处理找不到档案ContentLoadException。

解决方案管理器

我希望这是足够的信息。 另外我的文件的资产名称为面。

提前致谢。

Answer 1:

如果您已经将您的文件内容项目(这些是新的4.0)其他需要检查的事项将是确保文件是对一个Texture2D支持的格式(为.jpg,.png .BMP之一。 TGA)。 在那之后,点击图像,并验证该资产的名称是正确的,符合您所使用的代码的确切套管/拼写用这个名字来加载它。 如果这是正确的,那么还请确保图像内容输入正确设置为一个Texture2D。 然后验证另一件事是,以确保您的图像是在内容项目的根文件夹不在家。 如果一个文件夹中有它,那么你需要加载时,它包含的文件夹名称(或姓名)。

如果您已确认所有的,那么你可能需要张贴图片或样品的项目,所以我们可以看看,看看,如果我们发现任何方式。

从截图它看起来像你需要在“测试”项目,右键单击,然后说“添加内容参考”。 然后你需要选择你的“测试(内容)”的项目作为参考。 这应该在默认情况下已经发生了,当你创造了这个新的游戏项目,我不知道为什么它看起来像它已被删除。



Answer 2:

当您使用Visual Studio 2010中,我猜您正在使用XNA 4.0。 如果是这样的话,有一个新的Content Reference ,你把所有的纹理,声音,模型等进入项目。 如果您已经创建了一个Content在文件夹XNA Game项目,这是不行的。



Answer 3:

XNA 4.0内容参考项目都有指定将持有该项目文件夹中生成管线内容的最终输出文件的子目录的名称的内容根目录属性(默认设置为内容 )。 因此,如果您创建内容参考项目中的内容目录中的人脸的资产将被放置在内容/ Content目录,你将必须加载它像这样

mSpriteTexture = Content.Load<Texture2D>(@"Content/Face");

尽管设置Content.RootDirectory = "Content"



Answer 4:

另一个潜在的解决方案:

检查原始文件(如MyTexture.bmp ),并确保生成操作设置为编译

如果您有它设置为别的东西,比如逻辑看似内容 ,它不会工作。



文章来源: Asset not found XNA
标签: c# xna xna-3.0