2

xna で自分のゲームにたくさんのテクスチャを追加しているので、テクスチャを読み込んで描画する別のクラスを作成することにしました。

これは私がこれまでに持っているものです

using System.Text;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Audio;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;
using Microsoft.Xna.Framework.Input;
using Microsoft.Xna.Framework.Media;


namespace Trolls_and_Towers
{

class Textures
{
    //Texture loading

        //Buttons
    public static Texture2D button;


    public static void Load()
    {
        Microsoft.Xna.Framework.Game game = new Microsoft.Xna.Framework.Game();
        button = game.Content.Load<Texture2D>("button");
    }

    public static void Draw()
    {
        Game1.spriteBatch.Draw(button, new Rectangle(20, Game1.screenHeight - 70, 100, 50), Color.White);
    }
}
}

問題は、ボタンのテクスチャが見つからないことです。ゲームの Load メソッドでロードすると機能するため、スペルが間違っていないことがわかっています

4

2 に答える 2

0

新しい XNA プロジェクトを作成するときはいつでも、コンストラクター内にこれがあります。

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

または、次のこともできます。

    class Game
    {

    }

    class TextureManager
    {
        public TextureManager(Game game)
        {

        } 
    }

https://gamedev.stackexchange.com/は、ゲーム開発関連の質問をするのに適した場所になることに注意してください。

于 2013-04-08T02:12:11.547 に答える
-1

パラメータとして game1-loadcontent-void ans gibe content-Manager から load-method を呼び出すこともできます。次に、他のクラスでも Content.Loaf を呼び出すことができます。

于 2013-04-08T09:24:19.463 に答える