Предыдущая Следующая
Во второй строке блока этого исходного кода используется логическая конструкция операторов if/else, позволяющая производить слежение за состоянием нажатия клавиш. Здесь все просто, если клавиша Esc на клавиатуре нажата -keyboardState.IsKeyDown(Keys.Escape) , то происходит вызов метода Exit() , который останавливает работу программы и закрывает приложение. Метод Exit() - это системный метод, необходимый для корректного завершения программы.
В ином случае исходный код метода Update() продолжает выполняться дальше строка за строкой. По необходимости конструкцию if/else можно заключить в фигурные скобки, чтобы код стал читабельным и более понятным.
keyboardState = Keyboard.GetStateO;
if(keyboardState.IsKeyDown(Keys.Escape))
{
this.Exit();
}
Ниже приведен полный листинг 5.3 исходного кода файла Gamel.cs проекта FullScreen. Все добавленные строки кода выделены жирным шрифтом. На компакт-диске проект находится в папках Code\Chapter5\ FullScreen.
//=========================================================================
/// <summary> /// Листинг 5.3
76 Формируем каркас игровых классов
Переходим в полноэкранный режим 77
/// Исходный код к книге:
/// "Программирование компьютерных игр под Windows в XNA Game Studio Express" /// Автор книги: Горнаков С. Г. /// Глава 5
/// Проект: FullScreen /// Класс: Gamel
/// Переход в полноэкранный режим /// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic; using Microsoft.Xna.Framework; using Microsoft.Xna.Framework.Audio; using Microsoft.Xna.Framework.Content; using Microsoft.Xna.Framework.Graphics; using Microsoft.Xna.Framework.Input; using Microsoft.Xna.Framework.Storage; #endregion
namespace FullScreen {
public class Gamel : Microsoft.Xna.Framework.Game
{
GraphicsDeviceManager graphics; ContentManager content; KeyboardState keyboardState;
/// <summary> /// Конструктор /// <summary> public Game1()
{
graphics = new GraphicsDeviceManager(this); content = new ContentManager(Services); graphics.PreferredBackBufferWidth = 1024; graphics.PreferredBackBufferHeight = 7 68; graphics.PreferMultiSampling = false; graphics.IsFullScreen = true;
}
/// <summary> /// Инициализация /// <summary>
protected override void Initialize()
{
base.Initialize();
}
/// <summary>
/// Загрузка компонентов игры /// <summary> Предыдущая Следующая
|