Приставки
Nintendo (Dendy)
Nintendo 64
Sega Genesis
Sega CD / 32x
Master System
Super Nintendo
Turbo Grafx 16
Sega Saturn
Sony PlayStation
GameBoy Advance
GameBoy / Color
Game Gear
Atari
Другие

Утилиты
Системные утилиты
GoodXXXX
Sega CD / 32x
Nintendo 64
Переводы, хакинг
Музыка

Мир приставочных игр

Версия 2.00a

Leonis © 2002-2009
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Рис. 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. Исходный код примеров не сложен, и, надеюсь, вы уже в силах разобраться с ним самостоятельно.


Предыдущая Следующая

Горяченькое

Друзья

Hosted by uCoz