2013-04-08 4 views
2

Я добавляю кучу текстур в свою игру в xna, поэтому я решил создать отдельный класс для загрузки и рисования текстур.Загрузка текстуры2D в отдельный класс с использованием C# и 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 моего игра работает

ответ

0

Всякий раз, когда вы создаете новый проект XNA есть это внутри конструктора:

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

в качестве альтернативы вы можете сделать следующее:

class Game 
    { 

    } 

    class TextureManager 
    { 
     public TextureManager(Game game) 
     { 

     } 
    } 

Примечание: https://gamedev.stackexchange.com/ будет лучше для вас задавать вопросы, связанные с игрой.

-1

Вы также можете вызвать свой метод загрузки из параметра Game1-loadcontent-void ans gibe content-Manager в качестве параметра. Затем вы можете вызвать Content.Loaf в другом классе.

Смежные вопросы