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