Предыдущая Следующая
168 Создаем игровое меню
Проект Menu 169
Рис. 12.2. Графическая заставка меню игры
/// Листинг 12.1
/// Исходный код к книге:
/// "Программирование компьютерных игр для Windows в XNA Game Studio Express"
/// Автор книги: Горнаков С. Г.
/// Глава 12
/// Проект: Menu
/// Класс: Menu
/// Добавляем в игру меню
/// <summary>
//=========================================================================
#region Using Statements using System;
using System.Collections.Generic;
using Microsoft.Xna.Framework;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.Graphics;
#endregion
namespace Menu {
class Menu
Теперь еще пара слов о выходе в меню непосредственно из игрового процесса. Итак, игрок зашел в меню, выбрал команду Игра и нажал клавишу Enter. Произошел запуск игрового процесса. В режиме паузы мы ничего не меняем, здесь и так все нормально, а вот для выхода из игры в меню нужна дополнительная команда. Как правило, для выхода в меню используется клавиша с командой Esc. Это весьма распространенная и стандартная практика. Ранее эта клавиша у нас служила для закрытия игры, но теперь мы эту клавишу переопределим. По нажатии клавиши с командой Esc будет производиться выход в меню игры, а уже из самого меню пользователь может как выйти из игры, так и запустить игру сначала.
Теперь переходим к работе над проектом Menu, исходный код которого вы можете найти на компакт-диске в папке Code\Chapter12\Menu.
12.2.1. Класс Menu
Начнем с того, что сформируем новый проект с названием Menu, в который скопируем исходный код из предыдущей главы. Вы также можете просто модифицировать наш последний проект Font, где мы рассматривали работу со шрифтом и вывод текста на экран монитора.
Очевидно, что для описания игрового меню лучше всего создать отдельный класс. Мы так и поступим, создав специальный класс Menu, которому отведем роль представления меню игры. В листинге 12.1 показан полный исходный код класса Menu.
public Texture2D menuTexture; public Vector2 menuPosition;
public Texture2D cursorGame; public Vector2 cursorPositionGame;
public Texture2D cursorExit; public Vector2 cursorPositionExit;
/// <summary> /// Конструктор /// <summary> public Menu() {
menuPosition = new Vector2(0, 0); cursorPositionGame = new Vector2(650, 400); cursorPositionExit = new Vector2(700, 550);
}
/// <summary>
/// Загрузка спрайтов
/// <summary>
public void Load(ContentManager content) Предыдущая Следующая
|