1

我是新来的,我的项目有问题。
我的项目是ac#主机游戏,混合xna游戏。
我的项目的问题是,我在其中添加了一个内容文件夹来加载 xna 精灵等,但是每次我让它运行时,它都会显示,在纹理加载时找不到文件。
我试图查看问题是否出在路径上,但不是。它似乎无法识别内容文件夹,或者换句话说,它威胁到它不存在,在我看来。
我试图在谷歌上搜索,但它一直给我奇怪的结果,
我在这个网站上搜索了解决方案,但没有一个是我不想要的。
我怎样才能让它识别我的内容文件夹,以便能够在上面加载精灵和其他东西?

public class Game : Microsoft.Xna.Framework.Game
{
    public GraphicsDeviceManager graphics;
    public SpriteBatch spriteBatch;

    public Game()
    {
        graphics = new GraphicsDeviceManager(this);
        graphics.PreferredBackBufferWidth = 640;
        graphics.PreferredBackBufferHeight = 480;
        graphics.IsFullScreen = false;
        Content.RootDirectory = "Content"; 
    }

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

    protected override void LoadContent()
    {
        spriteBatch = new SpriteBatch(GraphicsDevice);
        Program.TestPlayer = Content.Load<Texture2D>("characters/blue"); //Here is where gives the error
        Program.Tiles = Content.Load<Texture2D>("tiles"); //this gives error if the above script is commented.
    }

    protected override void UnloadContent()
    {

    }

    protected override void Update(GameTime gameTime)
    {
        switch (Procedures.gmode)
        {
            case GameMode.ExplorationMode:
                Exploration.ExplorationMode();
                break;

            default:
                this.EndRun();
                return;
        }
        base.Update(gameTime);
    }

    protected override void Draw(GameTime gameTime)
    {
        GraphicsDevice.Clear(Color.White);
        spriteBatch.Begin();
        switch (Procedures.gmode)
        {
            case GameMode.ExplorationMode:
                Exploration.DrawMap();
                Procedures.player.DrawTamer(spriteBatch);
                break;
        }
        spriteBatch.End();
        base.Draw(gameTime);
    }
}
4

2 回答 2

1

我不得不做一些不同的事情来解决这个问题,除了……不推荐而且有点烦人。
我必须在 xna 上创建另一个项目,并将内容文件传递给 xna 文件,然后将内容文件夹移动到我的项目文件夹。
除了烦人之外,它至少是有效的。

于 2013-03-06T18:58:05.113 回答
0

听起来问题是某些设置不正确。

确保在主项目的“内容引用”中引用了内容项目。

并确保内容项目中的“内容根目录”设置为“内容”(或与“Content.RootDirectory = 'Content';”设置为相同)。

并且通过“我的项目的问题,是我添加了一个内容文件夹”听起来您向 xna 项目添加了一个普通文件夹,但是您需要使用一个内容项目,以便您的资源将被编译和引用。


编辑

根据您的图像,您似乎没有xna 游戏项目,而是一个普通项目。尝试制作一个xna 项目并将您的游戏文件放在那里,然后从xna 游戏项目中引用您的内容项目(在制作 xna 游戏项目时,您将自动获得一个新的内容项目,该项目在 xna 游戏项目中被引用,因此您可以使用它来代替旧的,因此您不必弄乱设置,只需移动文件即可)。

于 2013-01-04T19:54:08.180 回答