Приставки
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
Команда Новости Помощь Ссылки
ПОМОЩЬ
Литература про игры
Предыдущая Следующая

Суть работы 2-буфера заключается в том, чтобы правильно представить объемную модель на двухмерной плоскости экрана телевизора. Задний буфер расставляет вершины объекта в пространстве как в реальном мире, удаляя от нас более дальние части модели и приближая ближние, создавая тем самым объемность мира. После этого все данные поступают в так называемый фрейм-буфер, или просто кадр.

Вот такая модель работы используется графическим конвейером для представления графики на экране телевизора. На этом знакомство с основами программирования ЗЭ-графики подошло к завершению, и мы переходим к работе над новым проектом трехмерной игры. Это не значит, что вы изучили всю концепцию программирования ЗЭ-графики, но полученных знаний вам вполне хватит для дальнейшей работы с книгой.

Глава 16

Смена игровых состояний

Прежде чем перейти к созданию трехмерной игры, нам стоит уделить внимание оптимизации ранее изученного механизма смены игровых состояний в приложении. Как вы помните, для смены игровых состояний в двухмерной игре мы использовали конструкцию управляющих операторов if/else. Теперь пришло время создать более действенный и профессиональный подход смены игровых состояний, основанный на использовании структур и структурных переменных.

16.1. Улучшаем смену игровых состояний

В чем смысл методики смены игровых состояний, основанных на структурных данных? Необходимо сформировать структуру данных, содержащую определенный набор переменных. Как вы знаете, структура - это совокупность переменных, предназначенных для хранения различной информации. Объявление структуры приводит к созданию набора данных, которые впоследствии может использовать любой объект структуры или структурная переменная.

Создать структуру в нашем контексте можно следующим образом:

private enum CurentGameState

{

SplashScreen,

MenuScreen,

HelpScreen,

AboutScreen,

GameScreen,

GameOverScreen,

VictoryScreen

}

Как видите, названия переменных соответствуют определенным фазам игровых состояний. У нас эти переменные будут означать следующее:

□ SplashScreen - первая игровая заставка, появляющаяся при старте игры;

□ MenuScreen - меню игры;

□ Help - экран, объясняющий правила игры;

□ AboutScreen - экран с информацией об игре;

□ GameScreen - игровой процесс;

□ GameOverScreen - экран проигрыша игры;

□ VictoryScreen - экран выигрыша игры.

280 Смена игровых состояний

Дополнительно можно ввести любое количество переменных для любого количества фаз игровых состояний. Далее при старте игры создается структурная переменная и инициализируется одним из значений структуры, например:


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

Горяченькое

Друзья

Hosted by uCoz