Предыдущая Следующая
Рис. 14.3. Табличка для режима паузы
250 Добавляем в игру новые уровни
private int level; private int tempLevel; private Texture2D gameLevel; private Texture2D pausedTexture;
Первые две переменные, как мы уже выяснили, служат соответственно для подсчета общего количества набранных очков и количества очков, которое необходимо набрать пользователю для перехода на следующий уровень.
Следующие две булевы переменные gameState и levelState понадобятся нам для отслеживания состояния игры. О них мы поговорим подробнее чуть позже в этой главе, когда дойдем до игрового цикла.
Следующие две переменные в этом блоке кода level и tempLevel представляют текущий уровень игры. Зачем нужны сразу две переменные для представления одного уровня? Дело в том, что переменная level будет изменяться по прошествии одного из уровней (увеличиваться на единицу), но для информационной таблички, появляющейся между уровнями, нам понадобится показать, какой из уровней был только что пройден, а переменная level к этому времени уже увеличится на единицу. Поэтому и применяется дополнительная переменная tempLevel.
Два последних объекта gameLevel и pausedTexture класса Texture2D представляют соответственно междууровневую табличку (рис. 14.2) и табличку режима паузы (рис. 14.3). В методе LoadGraphicsContent() мы загрузим эти два графических файла, которые по традиции располагаются в рабочем каталоге проекта в папке \Content\Textures, после явного добавления их в проект.
В конструкторе класса Gamel происходит инициализация объявленных переменных.
level = 1; tempLevel = level; gameState = false; levelState = false;
На начальном этапе игры мы задаем значение переменной level, равное единице, для того чтобы игрок мог начать играть непосредственного с первого уровня. Если в игре предусмотрена система сохранения прошедших уровней, то это как раз то место, где можно прочитать из памяти сохраненные данные и присвоить переменной level уровень, с которого пользователь должен продолжить играть.
В справочной системе XNA Game Studio Express (Programming Guide = Storage) вы найдете всю необходимую информацию о механизме сохранения различных данных на жестком диске. Особенно советую обратить внимание на пример под названием How to: Serialize Data. В этом примере созданы два универсальных метода для записи данных на диск и их чтения. Эти методы очень легко использовать для сохранения игровых данных на жестком диске приставки Xbox 360. Исходный код примеров не сложен, и, надеюсь, вы уже в силах разобраться с ним самостоятельно. Предыдущая Следующая
|