Задание
В проекте «Атака на большой вертолёт» реализуем такой сюжет. Управляемый кнопками движения курсора на клавиатуре вертолёт может смещаться вправо, влево, подниматься вверх, увеличиваясь в размере, опускаться вниз, уменьшаясь в размере. В небе на него двигаются зелёные вертолёты, от которых большому вертолёту нужно уворачиваться. Зелёные вертолеты появляются в случайной координате x в верхней границе экрана и двигаются к нижнему краю сцены. Если происходит столкновение, большой вертолёт ломается, падает, уменьшаясь в размере. Игра заканчивается.
Большой вертолёт в проекте представлен двумя спрайтами — спрайт вертолёта и спрайт лопастей. Спрайт вертолёта имеет два костюма. Их можно скачать тут или нарисовать самостоятельно (вертолёт.jpg, вертолёт_2.jpg).
Зелёный вертолёт — копия большого вертолёта, только его многочисленные костюмы состоят сразу из вертолёта и лопастей, повернутых под разными углами. Зелёные вертолёты неуправляемы, им не нужно перемещаться, поэтому достаточно просто менять костюм на следующий.
Вертолёт
Код вертолёта описывает его исходное положение при нажатом зелёном флажке. Сам вертолёт надо разместить в заднем слое для того, чтобы лопасти вертолёта оказались сверху.
Ожидаемое событие — касание с зелёным вертолётом. В этом случае вертолёт должен сменить костюм и «падать», то есть менять несколько раз в цикле размер. После этого работа всех скриптов завершается.
Также в этом коде нужно описать действия при использовании стрелок управления курсором на клавиатуре. При нажатии на кнопки влево и вправо вертолёт смещается на несколько пикселей по направлению x соответственно вправо со знаком «+» или влево со знаком «−». При нажатии на кнопки вверх или вниз изменяется размер вертолёта на несколько процентов с соответствующими знаками.
Лопасти
Особенность кода лопастей в том, что при каждом перемещении вертолёта лопасти должны перемещаться в центр вращения вертолёта. Для этого используем сенсор.
Рис. 1. Сенсор
При изменении на спрайте вертолёта станут доступными атрибуты этого спрайта.
Рис. 2. Атрибуты спрайта
Нам потребуются атрибуты «Положение x» и «Положение y». Таким образом, лопасти вертолёта всегда будут при нём.
При нажатом зелёном флажке установим лопасти в исходное положение, определив его с помощью сенсора, установим на передний слой. Циклическая конструкция будет также использовать условие, учитывающее атрибуты спрайта вертолёта.
Рис. 3. Цикл для вертолёта
Также в этом коде нужно описать действия при использовании стрелок управления курсором на клавиатуре. Их можно скопировать из кода вертолёта.
Зелёный вертолёт
Зелёный вертолёт появляется в случайной координате x в верхней границе экрана и двигается, изменяя в цикле координату y. В цикле проверяется условие, достиг ли зелёный вертолёт края. Если условие верно, то создаётся клон зелёного вертолёта и устанавливается в исходное положение, а предыдущий зелёный вертолёт исчезает. Им управлять нельзя.
Продолжая работу над проектом, ты можешь дополнить его красивым фоном, вести учёт обойдённых вертолётов или подсчитывать, сколько по таймеру тебе удалось продержаться.