Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

{

gameState = CurentGameState.MenuScreen;

}

if (currentState.Buttons.A == ButtonState.Pressed && aReleased == true && stateVictory == 3)

{

this.Exit();

}

break;

} }

// Проверяем, нажата кнопка A или отпущена

if (currentState.Buttons.A == ButtonState.Pressed)

{

aReleased = false;

}

else if (currentState.Buttons.A == ButtonState.Released)

{

aReleased = true;

}

// Проверяем, нажат DPad.Down или отпущен

if (currentState.DPad.Down == ButtonState.Pressed)

360 Последние штрихи

{

downReleased = false;

}

else if (currentState.DPad.Down == ButtonState.Released)

{

downReleased = true;

}

// Проверяем, нажат DPad.Up или отпущен

if (currentState.DPad.Up == ButtonState.Pressed)

{

upReleased = false;

}

else if (currentState.DPad.Up == ButtonState.Released)

{

upReleased = true;

}

base.Update(gameTime);

}

21.5.3. Обновляем графику в методе Draw()

В методе Draw() класса Game1 на основе значения структурной переменной gameState происходит рисование того или иного экрана. Изначально при запуске игры переменная gameState равна CurentGameState.SplashScreen, и это значит, что первой на экране рисуется титульная заставка.

После нажатия кнопки А, обработка нажатия которой происходит в только что рассмотренном методе Update(), значение переменной меняется на CurentGameState.MenuScreen. После чего на экране рисуется меню игры, в котором в зависимости от выбранной команды (вверх или вниз) и нажатия кнопки А происходит изменение состояния всей игры.

protected override void Draw(GameTime gameTime)

{

graphics.GraphicsDevice.Clear(new Color(159, 147, 207)); switch(gameState)

{

case CurentGameState.SplashScreen:

{

splash.DrawScreen(spriteBatch, graphics, screenWidth, screenHeight); break;

}

В меню игры мы передаем переменную state. В зависимости от ее текущего значения для желтой подложки меню выбирается соответствующая позиция на экране телевизора, которая указывает пользователю на активную в данный момент команду меню.

Смена игровых состояний в классе Gomel

361

case CurentGameState.MenuiScreen: {

menuGame.DrawScreen(spriteBatch, graphics, screenWidth, screenHeight, gameTime, state); break;

}

case CurentGameState.HelpScreen:

{

help.DrawScreen(spriteBatch, graphics, screenWidth, screenHeight, gameTime); break;

}

case CurentGameState.AboutScreen:

{

about.DrawScreen(spriteBatch, graphics, screenWidth, screenHeight, gameTime); break;

}

case CurentGameState.BooksScreen:

{

books.DrawScreen(spriteBatch, graphics, screenWidth, screenHeight, gameTime); break;


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz