Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Далее мы отключаем в приложении работу Multisampling, выставив его значение в false, а последняя строка кода в этом блоке graphics. ToggleFullScreen() включает полноэкранный режим отображения информации. Вот и все настройки. Если не использовать параметры настройки режима дисплея PreferredBackBufferHeight и PreferredBackBufferHeight, то разрешение экрана даже в полноэкранном режиме будет установлено по умолчанию в 800 x 600 пикселей.

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

protected override void Update(GameTime gameTime) {

if(GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)

this.Exit();

base.Update(gameTime);

}

Метод Update() следит за обновлением состояния игры, а значит, именно в этом методе можно реализовать обработку событий, получаемых с устройств ввода информации (джойстика, мыши и клавиатуры). Вышеприведенный исходный код направлен исключительно на работу с джойстиком и формируется автоматически шаблоном Visual C# Express. Этот код и механизм выхода из программы также актуален и сейчас, но только в том случае, если в качестве устройства ввода используется джойстик. Если нет, то нужно реализовать дополнительный код для выхода из программы по нажатии одной из клавиш клавиатуры. Обычно в качестве кнопки выхода используется клавиша Esc.

Для этих целей в глобальных переменных класса Gamel объявим дополнительный объект.

KeyboardState keyboardState;

Этот объект класса KeyboardState предназначен для работы с клавиатурой. Затем в методе Update() добавим три строки исходного кода.

keyboardState = Keyboard.GetStateO;

if(keyboardState.IsKeyDown(Keys.Escape))

this.Exit();

В первой строке этого кода объект keyboardState инициализируется посредством вызова метода Keyboard.GetStateO , что позволяет нам получать события с клавиатуры и хранить их в keyboardState. Метод Update() работает в циклическом режиме, то есть код этого метода выполняется строка за строкой до самого конца. После чего выполнение метода начинается снова в том же ключе от первой строки кода метода на протяжении работы всей программы. Все это означает, что один проход по коду метода Update() от начала до конца - это и есть один кадр в игре, соответственно состояние объекта keyboardState будет обновляться в каждом новом кадре.


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

Горяченькое

Друзья

Hosted by uCoz