Стрельба с прицелом
Стрельба с прицелом
Исходный файл: Aimandshoot.fla
А что, если бы в предыдущей игре герой стоял, а не двигался из стороны в сторону? Тогда он бы мог направлять соломинку в любом направлении, а не только строго вверх. А снаряды подчинялись бы законам гравитации и, описав дугу, падали бы на землю.
Ролик Aimandshoot.fla представляет собой как раз такую игру. На рис. 10.4 показан фрагмент игры; как вы можете видеть, лиса находится в центре экрана и стреляет под углом. Рассмотрим, как это можно сделать.
Рисунок 10.4. Игра «Прицелься и выстрели» напоминает игру «Стрельба по шарам», однако в нее были добавлены новые возможности
Задача проекта
Наша задача – удалить из предыдущей игры один элемент и добавить два новых. Элементом, который необходимо удалить, является перемещение лисы вправо и влево. В данной игре клавиши со стрелками «влево» и «вправо» действовать не будут, а лиса будет оставаться в центре экрана.
Новые элементы – возможность прицеливаться и подчинение пули закону гравитации. При помощи мыши игрок может прицелиться, и соломинка повернется в нужном направлении. После выстрела пуля упадет на землю.
Подход
Для того чтобы соломинка была повернута в правильном направлении, прежде всего необходимо измерить горизонтальное и вертикальное расстояния между курсором и соломинкой, а затем с помощью этих значений вычислить необходимый угол.
Полученное значение можно использовать для поворота клипа соломинки в нужном направлении. Оно также определяет место вылета снаряда и количество пикселов по горизонтали и вертикали, на которое снаряд перемещается в каждом кадре.
Добавить влияние гравитации немного проще. В начале движения объекта-пули его траектория слабо изменяется под действием гравитации. Однако с каждым кадром скорость падения увеличивается. Пуля получила сильный импульс при запуске, поэтому она будет продолжать двигаться вверх, но все медленнее и медленнее, по мере уменьшения ее кинетической энергии. Затем пуля все быстрее и быстрее начнет падать вниз.
Это явление называется ускорением свободного падения и в реальном мире составляет примерно 32 фута/с2 (9,8 м/с2). В мире игры ускорение может иметь любое значение.
Подготовка ролика
Основное отличие данной игры от предыдущей состоит в том, что соломинка представляет собой отдельный клип. Благодаря этому она может поворачиваться независимо от лисы.
Клип лисы по сравнению с предыдущей игрой не содержит анимации движения. Он является ни чем иным, как элементом фона игры, хотя и расположен поверх клипа соломинки.
Создание кода
Некоторые функции данной игры аналогичны функциям игры «Стрельба по воздушным шарам», поэтому нет смысла рассматривать их повторно. Это функции initGame, newBalloon, moveBalloons, checkCollision и distance.
Одна из новых функций в анализируемой игре – aimStraw. Она заменит функцию moveFox и будет вызываться из клипа «actions», которому назначен следующий код:
onClipEvent(load) {
_root.initGame();
}
onClipEvent(enterFrame) {
_root.newBalloon ();
_root.moveBalloons();
_root.aimStraw();
_root.moveBullets();
}Задача функции aimStraw – вычислить угол прицела и затем задать поворот клипа соломинки. Значение угла сохраняется в переменной strawRadians, которая используется функцией shootBullet. Для того чтобы вычислить угол между двумя точками, прежде всего необходимо определить значение разницы между горизонтальными и вертикальными координатами точек. Они хранятся в переменных dx и dy функции. Задав эти значения в функции Math.atan2, вы получите значение угла в радианах.
Более 800 000 книг и аудиокниг! 📚
Получи 2 месяца Литрес Подписки в подарок и наслаждайся неограниченным чтением
ПОЛУЧИТЬ ПОДАРОКДанный текст является ознакомительным фрагментом.
Читайте также
Стрельба по воздушным шарам
Стрельба по воздушным шарам Исходный файл: Balloonshoot.fla Первая игра состоит из трех основных элементов: лисы, воздушных шаров и снарядов. В нашем примере лиса стреляет всего лишь горошинами из соломинки (рис. 10.1). Поэтому игра подойдет для любой аудитории. Рисунок 10.1. Лиса
Роботы-убийцы: с прицелом на будущее Михаил Карпов
Роботы-убийцы: с прицелом на будущее Михаил Карпов Опубликовано 27 октября 2010 года 1993 год. Сотни японцев стали свидетелями душераздирающей сцены — роботизированный краб, висевший у входа в ресторан, внезапно сошёл с ума и схватил в свои клешни
РЫНКИ: С прицелом на будущее: Умные баннеры сами определят интересы пользователей
РЫНКИ: С прицелом на будущее: Умные баннеры сами определят интересы пользователей Автор: Родион НасакинРедкий человек обладает иммунитетом к рекламе. Она назойливо пытается завладеть вниманием в газетах, по радио, на телеэкране и в Интернете. При этом рекламодатели с
Под прицелом криминала
Под прицелом криминала К сожалению, проблема не ограничивается только лишь Ассоциацией прямого маркетинга. Продаваемая персональная информация используется для телемаркетинговых мошенничеств, объем которых, согласно данным Федеральной комиссии по торговле,