Предыдущая Следующая
protected override void LoadGraphicsContent(bool loadAllContent)
{
if (loadAllContent)
{
// здесь загружаются модели и графические элементы
}
}
Метод LoadGraphicsContent() необходим для загрузки графической составляющей вашей игры, используя мощь XNA Content Pipeline, который позволяет загрузить в одну строку кода любую 3D-модель или графику определенного формата. Поддерживаемых форматов много, но об этом в следующей главе, когда мы с этим непосредственно столкнемся.
Следующим в исходном коде идет метод UnloadGraphicsContent() , который в автоматическом режиме производит выгрузку загруженных 3D-моделей и графики на этапе выхода из игры. Это своего рода менеджер, работающий на автомате и освобождающий захваченные ресурсы системы по сигналу выхода из программы. В стандартном использовании загрузчика добавлять в метод UnloadGraphicsContent() дополнительный исходный код не нужно. Но если применяются различные дополнительные загрузчики, то выгрузку загруженных элементов в методе UnloadGraphicsContent() необходимо прописать явно.
Затем в исходном коде класса Gamel идет метод Update() со следующим исходным кодом:
70 Формируем каркас игровых классов
Класс Game1 71
protected override void Update(GameTime gameTime)
і
if(GamePad.GetState(PlayerIndex.One).Buttons.Back == ButtonState.Pressed)
this.Exit();
// код игры
base.Update(gameTime);
}
Этот метод предназначен для обновления состояния игры. В методе Update() необходимо расположить все методы, отвечающие за логику игры, реализовать механизм получения событий с клавиатуры, мыши или джойстика, воспроизведение звука. Определить, что именно будет происходить после столкновений, выстрелов, ударов и т. д. Этот метод вызывается с циклической периодичностью, а точнее через определенный промежуток времени (таймер). Промежуток времени реализуется в автоматическом режиме через объект gameTime.
Первая и вторая строки кода в методе Update() получают события с джойстика и реализуют закрытие программы. Когда мы создадим проект, работающий в полноэкранном режиме, то нам может понадобиться выход из программы посредством клавиатуры (не у всех пользователей есть джойстик). Тогда и рассмотрим возможность обработки событий, полученных с клавиатуры, а пока выход из программы осуществляется кнопкой мыши.
Последний метод класса Gamel - это метод Draw().
protected override void Draw(GameTime gameTime)
і
graphics.GraphicsDevice.Clear(Color.CornflowerBlue);
// здесь рисуем графику Предыдущая Следующая
|