2012-05-30 3 views
0

Я искал способ, чтобы использовать GraphicDeviceManager в других классах, которые не наследуют от Microsoft.Xna.Framework.GameПолучение GraphicDeviceManager из другого класса

Я использую пример игры государственного управления.

У меня есть класс под названием «FirstLevel», который является существенным GamePlayScreen из примера, я пытаюсь заставить этот класс использовать GraphicsDeviceManager для создания кода, например следующего:

 this.graphics.PreferredBackBufferWidth = 1920; 
     this.graphics.PreferredBackBufferHeight = 1080; 

Но он понятия не имеет, что такое «графика» на самом деле.

Каковы мои возможности с точки зрения получения графика GraphicsDeviceManager и использования его в классе FirstLevel?

Я не могу унаследовать от Microsoft.Xna.Framework.Game, потому что мой класс уже наследуется от GameScreen.

Я слышал, что вы можете использовать класс DrawableGameComponent для доступа к GraphicsDeviceManager, например, класс ScreenManager, который наследуется от этого класса.

Я не могу пройти Microsoft.Xna.Framework.Изменить в конструкторе firstLevel, потому что другие классы, которые его требуют, должны передать GraphicsDeviceManager в него.

Любые помощь ребята?

Спасибо.

ответ

0

Обычный передаёт вашему игровому экземпляру GameScreen экземпляр игры как параметр игры.

GraphicDeviceManager используется для инициализации графики, внутри игры вы должны использовать экземпляр GraphicsDevice, предоставленный экземпляром игры.

public class GameScreen { 

    public Game Game; 
    public GameScreen(Game game) { 
     this.Game = game; 
    } 

    public void Update() 
    { 
     Game.GraphicsDevice.... 
    }         
} 
+0

Приветствие за консультацию, я закончил тем, что пропустил «Игровую игру» практически на всех моих классах, чтобы заставить ее работать без ошибок, спасибо большое – user1427114

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