Предыдущая Следующая
Далее мы отключаем в приложении работу 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 будет обновляться в каждом новом кадре. Предыдущая Следующая
|