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 に答える