2014-12-26 3 views
0

В настоящее время я делаю игру в XNA, которая в основном состоит из серии коротких мини-игр. В настоящее время у меня есть две мини-игры, представленные их собственными классами Game1 и Game2.xna Переключение между играми

Можно ли переключиться на вторую мини-игру после того, как игрок закончит первый, и если да, то как это сделать, сохраняя при этом свою оценку?

ответ

0

Поскольку класс «Игра» - это игровой цикл (чтение ввода, преобразование и рендеринг), я не думаю, что это хорошая идея, чтобы дублировать этот класс в проекте XNA. Скорее, я бы создал механизм состояния (простое перечисление состояния игры, то есть MainMenu, MiniGame1, MiniGame2, Paused и т. Д.) И обрабатывать каждую конкретную мини-игру в классе Game1 в соответствии с переменной gameState. Например

В ваших Game1.Draw Метод

switch(gameState) 
{ 
    case: GameState.MiniGame1 
    { 
     minigame1.Draw(spriteBatch); 
    }break 
    case: GameState.MiniGame2 
    { 
     minigame2.Draw(spriteBatch); 
    }break; 
} 

ваших мини-игры больше похожи на уровни, которые должны быть загружены в класс Game1, а не стоять в одиночку игры. Конечно, это тривиальный пример, но, надеюсь, вы получите эту идею.

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