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

Задавая скорость только по одной оси координат, вы соответственно будете передвигать спрайт вдоль этой оси, а если задавать скорость по обеим осям координат, то спрайт будет перемещаться под определенным углом. Например, если скорость по осям X и Y равна по 3 пикселя, то этот угол будет равен четко 45 градусам. Если используются неравные значения по осям, то угол движения будет либо меньше, либо больше. Дополнительно можно использовать и отрицательные значения для скорости, в этом случае позиция спрайта будет уменьшаться. Например, в приведенном выше примере это будет выглядеть следующим образом:

Vector2 spritePosition; spritePosition.X = 100; spritePosition.Y = 300;

// Обновляем состояние игры

protected override void Update(GameTime gameTime)

{

spritePosition.Y -= 3;

}

В этом исходном коде мы получаем движение спрайта снизу вверх по оси Y. Если такой подход использовать для оси X, то движение будет происходить спра-

ва налево. Посмотрите на рис. 8.1, где схематически представлен механизм движения спрайта по различным осям со скоростью в 3 пикселя.

Рис. 8.1. Техника движения спрайтов на экране

Надеюсь, теперь смысл перемещения спрайтов в пространстве вам стал понятен, поэтому мы можем смело переходить к работе над проектами этой главы. В частности, вашему вниманию будут предложены два проекта: Мс^еБргз^е и MсveSpriteArray.

В первом проекте MсveSprite нашей целью будет перемещение спрайта по экрану сверху вниз. При этом как только спрайт будет достигать нижней части кромки экрана, то он будет исчезать из нашего поля зрения, поскольку его текущая позиция станет уже за пределами нашей зоны видимости. Чтобы корректно обрабатывать данную ситуацию, мы создадим простой механизм, который должен будет следить за спрайтом на экране, и как только объект исчезнет с экрана, ему будет назначаться новая позиция в верхней части дисплея и перемещение возобновится снова в том же ключе. Таким образом, спрайт в игре будет двигаться циклично сверху вниз.

Во втором проекте MсveSpriteArray задача несколько усложнится, и в игру добавятся еще четыре дополнительных спрайта. В итоге в игре задействуются сразу пять различных объектов. Для всех пяти объектов будут организованы механизм обработки ситуации выхода за пределы экрана в нижней части дисплея и установка на новые позиции. Теперь перейдем к новому проекту MсveSprite, который вы должны создать на базе последнего проекта предыдущей главы.

112 Движение спрайтов в пространстве


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

Горяченькое

Друзья

Hosted by uCoz