【问题标题】:Load content folder on c# console在 c# 控制台上加载内容文件夹
【发布时间】:2014-03-06 18:31:21
【问题描述】:

我是新来的,我的项目有问题。
我的项目是一个 c# 控制台游戏,混合了 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);
    }
}

【问题讨论】:

  • 欢迎来到本站!除了您对问题的描述之外,这个问题并没有给我们太多帮助。您是否可以共享 hte 代码的相关部分,以及代码中这些点出现的特定错误消息?除了提供猜测之外,这些细节对于实际提供帮助还有很长的路要走。如果您可以编辑您的问题以提供更多详细信息,我们或许可以提供帮助。
  • 我不想制作我的 c# 控制台项目,识别我项目中的内容文件夹,因此我将能够在我的游戏中加载内容。但它不仅适用于 Content.RootDirectory,因为它给出了文件未找到的错误。
  • 另外,显示的错误是“加载“firsttexturetoloadname”时出错。找不到文件。”
  • 请在您尝试加载纹理的位置发布代码,以便我们查看您做错了什么。你的描述太模糊了。

标签: c# xna console


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

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

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

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


    编辑

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

    【讨论】:

    • 我已经说过我的项目中没有“内容引用”区域。我将 Content.RootDirectory 设置为“内容”,就像文件夹名称一样。是的,我在我的游戏中使用了一个内容项目,如果你愿意,我可以发送它的照片。
    猜你喜欢
    • 2021-09-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-06
    • 2019-11-16
    • 2022-06-14
    相关资源
    最近更新 更多