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

// здесь следует код инициализации base.Initialize();

}

Этот метод предназначен для инициализации различных компонентов игры, которые вам понадобятся перед самым первым стартом игры. Из этого метода вы можете передавать управление и в другие методы, связанные с инициализацией различных начальных данных (позиции на экране, инициализация различных переменных и т. д.). Единственные ограничения этого метода состоят в том, что в данном методе нельзя загружать графические компоненты игры (текстуры, модели), для этих целей служит метод LoadGraphicsContent().

protected override void LoadGraphicsContent(bool loadAllContent)

{

if (loadAllContent)

{

// здесь загружаются модели и графические элементы

}

}

Метод LoadGraphicsContent() необходим для загрузки графической составляющей вашей игры, используя при этом всю мощь XNA Content Pipeline, который позволяет загрузить в одну строку кода любую 3Э-модель или графику определенного формата. Поддерживаемых форматов много, но об этом в следующей главе, когда мы с этим непосредственно столкнемся.

Следующим в исходном коде идет метод UnloadGraphicsContent(), который в автоматическом режиме производит выгрузку загруженных 3Э-моделей и графики на этапе выхода из игры. Это своего рода менеджер выгрузки компонентов игры, работающий на автомате и освобождающий захваченные ресурсы системы по сигналу выхода из программы. В стандартном использовании загрузчика добавлять в метод UnloadGraphicsContent() дополнительный исходный код не нужно. Но если применяются различные дополнительные загрузчики, то выгрузку загруженных элементов в методе UnloadGraphicsContent() необходимо прописать явно.

Затем в исходном коде класса Gamel располагается метод Update() со следующим исходным кодом:

protected override void Update(GameTime gameTime)

{

if(GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)

this.Exit();

// код игры

base.Update(gameTime);

}

Этот метод предназначен для обновления состояния игры. В методе Update() необходимо расположить все методы, отвечающие за логику игры, реа-

l06 Первый проект

лизовать механизм получения событий с клавиатуры, мыши или джойстика, воспроизведение звука. Определить, что именно будет происходить после столкновений, выстрелов, ударов и т. д. Этот метод в игре вызывается с циклической периодичностью (...30-60... кадров в секунду, те самые FPS), а точнее через определенный промежуток времени. Промежуток времени задается в автоматическом режиме через объект gameTime (при желании можно помогать XNA и создать свой таймер). То есть метод Update() - это полноценный игровой цикл, цель которого заключается в постоянном обновлении состояния игры.


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

Горяченькое

Друзья

Hosted by uCoz