Иллюстрированный самоучитель по созданию Flash-игр

Стрельба с прицелом

Исходный файл: Aimandshoot.fla.

А что, если бы в предыдущей игре герой стоял, а не двигался из стороны в сторону? Тогда он бы мог направлять соломинку в любом направлении, а не только строго вверх. А снаряды подчинялись бы законам гравитации и, описав дугу, падали бы на землю.

Ролик Aimandshoot.fla представляет собой как раз такую игру. На рис. 10.4 показан фрагмент игры; как вы можете видеть, лиса находится в центре экрана и стреляет под углом. Рассмотрим, как это можно сделать.

Иллюстрированный самоучитель по созданию Flash-игр › Игры типа "Прицелься и выстрели" › Стрельба с прицелом
Рис. 10.4. Игра "Прицелься и выстрели" напоминает игру "Стрельба по шарам", однако в нее были добавлены новые возможности

Задача проекта

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

Новые элементы – возможность прицеливаться и подчинение пули закону гравитации. При помощи мыши игрок может прицелиться, и соломинка повернется в нужном направлении. После выстрела пуля упадет на землю.

Подход

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

Полученное значение можно использовать для поворота клипа соломинки в нужном направлении. Оно также определяет место вылета снаряда и количество пикселов по горизонтали и вертикали, на которое снаряд перемещается в каждом кадре.

Добавить влияние гравитации немного проще. В начале движения объекта-пули его траектория слабо изменяется под действием гравитации. Однако с каждым кадром скорость падения увеличивается. Пуля получила сильный импульс при запуске, поэтому она будет продолжать двигаться вверх, но все медленнее и медленнее, по мере уменьшения ее кинетической энергии. Затем пуля все быстрее и быстрее начнет падать вниз.

Это явление называется ускорением свободного падения и в реальном мире составляет примерно 32 фута/с2 (9.8 м/с2). В мире игры ускорение может иметь любое значение.

Подготовка ролика

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

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.