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

protected override void Update(GameTime gameTime)

{

if (GamePad.GetState(Playerlndex.One).Buttons.Back == ButtonState.Pressed) this.Exit();

double elapsed = gameTime.ElapsedGameTime.TotalSeconds; sprite.UpdateFrame(elapsed);

base.Update(gameTime);

}

В качестве параметра в методе UpdateFrame() класса Sprite передается значение переменной elapsed. Эта переменная при каждой итерации игрового цикла, то есть при каждом новом проходе по методу Update(GameTime gameTime), получает текущее значение времени, прошедшее за один игровой цикл или за один проход по коду метода Update(GameTime gameTime). А уже в методе UpdateFrame() класса Sprite происходит сравнение времени задержки на показ одного фрейма с прошедшим временем и соответственно решается, показывать по-прежнему этот фрейм анимационной последовательности или переходить к следующему фрейму.

В самом конце исходного кода класса Gamel происходит вызов метода Draw(), где на экран выводится один из фреймов всей анимационной последовательности изображения.

protected override void Draw(GameTime gameTime)

{

graphics.GraphicsDevice.Clear(Color.CornflowerBlue);

spriteBatch.Begin(SpriteBlendMode.AlphaBlend);

sprite.DrawAnimationSprite(spriteBatch);

spriteBatch.End();

base.Draw(gameTime);

}

148 Спрайтовая анимация

Полный исходный код проекта Animation вы найдете на диске в папке Code\Chapter7\Animation.

Фоновые изображения в играх могут быть различного плана, здесь все зависит от конкретной задачи в реализации самой игры. В нашем случае фон представлен статическим изображением размером в 1280 пикселей по ширине и 720 пикселей по высоте. Поэтому начальной точкой вывода изображения служит начало отсчета системы координат (рис. 7.3).

В качестве фоновой картинки мы используем изображение гор, песка и неба. Графический файл фона backgrounding располагается в рабочем каталоге проекта в папке Content\Textures. Добавление изображения в проект необходимо произвести явно через выполнение команд Add = Exiting Item (глава 6, раздел 6.2), как это мы делали для изображения sprite.png.

Загружать фоновое изображение мы будем напрямую прямо в классе Gamel, поскольку для фона не определено никаких дополнительных функций, то и создание отдельного класса для фона или использование класса Sprite не обязательно. Если же в других ваших играх фоновое изображение будет иметь гораздо больше функциональных возможностей, например механизм скроллинга, то стоит создать для этих целей отдельный класс. Пример реализации скроллинга в играх показан в документации к XNA Game Studio Express (раздел Programming Guide => Graphics == 2D Graphics == Make a Scrolling Background).


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

Горяченькое

Друзья

Hosted by uCoz