Предыдущая Следующая
Последнее графическое нововведение в игре касается изменения режима паузы. Ранее в этом режиме мы писали на экране слово Пауза. Теперь вместо этого слова на экране будет появляться
Рис. 14.2. Информационные таблички
218 Добавляем в игру новые уровни
Проект NewLevels 219
Рис. 14.3. Табличка перехода с уровня на уровень
красочная табличка с информацией о том, какие команды необходимо выполнить для продолжения игры или для выхода в меню программы (рис. 14.4).
14.3.1. Изменения в классе Game1
Рис. 14.4. Табличка для режима паузы
Начинаем работать над новым проектом и
классом Gamel. Прежде всего добавим в область глобальных переменных этого класса несколько новых переменных.
private int totalScore; private int endScore; private bool gameState; private bool levelState; private int level; private int tempLevel; private Texture2D gameLevel; private Texture2D pausedTexture;
Первые две переменные, как мы уже выяснили, служат соответственно для подсчета общего количества набранных очков и количества очков, которое необходимо набрать пользователю для перехода на следующий уровень.
Следующие две булевы переменные - gameState и levelState - понадобятся нам для отслеживания состояния игры. О них мы поговорим подробнее чуть позже в этой главе, когда дойдем до игрового цикла.
Следующие две переменные в этом блоке кода - level и tempLevel - представляют текущий уровень игры. Зачем нужны сразу две переменные для представления одного уровня? Дело в том, что переменная level будет изменяться по прошествии одного из уровней (увеличиваться на единицу), но для информационной таблички, появляющейся между уровнями, нам понадобится показать, какой из уровней был пройден только что, а переменная level к этому времени уже увеличится на единицу. Поэтому и применяется дополнительная переменная tempLevel.
Два последних объекта gameLevel и pausedTexture класса Texture2D представляют соответственно междууровневую табличку (рис. 14.3) и табличку режима паузы (рис. 14.4). В методе LoadGraphicsContent() мы загрузим эти два графических файла, которые по традиции располагаются в рабочем каталоге проекта в папке \Content\Textures, после явного добавления их в проект.
В конструкторе класса Game1 происходит инициализация объявленных переменных.
level = 1; tempLevel = level; gameState = false; levelState = false;
На начальном этапе игры мы задаем значение переменной level, равное единице, для того чтобы игрок мог начать играть непосредственного с первого уровня. Если в игре предусмотрена система сохранения прошедших уровней, то это как раз то место, где можно прочитать из памяти сохраненные данные и присвоить переменной level уровень, с которого пользователь должен продолжить играть. Предыдущая Следующая
|