Существует несколько способов, как сделать прыжок в Скретч: от простого перемещения спрайта по вертикали Y, до реалистичного скачка с зачатками гравитации. Какой из них выбрать, зависит от конкретного проекта.
Простой прыжок
Это базовая механика, которую в Scratch используют при создании раннеров. Начнем с раздела «События», откуда вытащим «Когда флажок нажат» и сразу добавим сюда начальные координаты героя, который будет совершать прыжок. Для этого:
- Сперва зафиксируйте спрайт в той точке, где он начнет путь – удерживайте модельку левой кнопкой мышки и перетащите ее на стартовую позицию. Зайдите в раздел «Движение» и достаньте оттуда «Перейти в x:… y:..». Там будут указаны координаты расположения персонажа.
- Теперь обратитесь к «Событиям» и выберите «Когда клавиша нажата». По умолчанию там установлен пробел, но действие можно и переназначить на стрелки или другие клавиши.
- Определите высоту прыжка – для этого поднимите спрайт вверх. Рекомендуем сразу добавить изображение препятствия, чтобы понимать, насколько высоко должен подпрыгнуть герой. Определившись, откройте «Движение» и выберите «Плыть X секунд в точку x:… y:…». Если координата x сместилась, измените ее на ту, что указана в «Перейти в».
На этом этапе персонаж сможет только взмыть в воздух. Чтобы он вернулся в отправную точку:
- Из «Управления» извлеките блок «Ждать». К нему снизу добавьте «Плыть» и укажите координаты, ранее указанные в «Перейти к».
- Остается поэкспериментировать со скоростью прыжка и возвращаем героя на начальную позицию. Для этого меняйте время в «Плыть» и «Ждать».
Теперь щелкайте на указанную клавишу и наблюдайте за эффектом прыжка. Небольшой совет, чтобы не приходилось вручную указывать точку x для возвращения героя:
- Откройте «Движение» и пролистайте список блоков вниз.
- Перенесите «Положение x» в оба блока «Плыть».
Дополняют прыжок сменами костюмов, чтобы во время действия спрайт персонажа менялся на более подходящий.
Прыжок с физикой
Стоит понимать, что реализовать полноценный физический движок не получится, но скроить нечто подобное, более чем. Итак, начнем:
- Первым делом добавьте «Когда флажок нажат», снова сместите персонажа в отправную точку и вставьте блок «Перейти в x:… y:…».
- Теперь идите в «Переменные», достаньте оттуда «Задать значение» и оставьте 0. Рекомендуем поменять название переменной, допустим, на «Гравитация». Следом добавляем цепочку «Повторять всегда» из раздела «Управления».
- В начало цепочки добавьте «Переменную», а именно «Изменить на» и установите значение -1.
Теперь персонаж сможет оттолкнуться, только сделать это пока не от чего. Если фон нарисован вручную и у него есть четкое разделение на дорогу, задник и верх, рисовать линии не нужно. В противном таком случае:
- Щелкните по фону или спрайту, по которому движется персонаж. Теперь выберите «Костюмы» или «Фоны» в разделах слева.
- Выберите «Линия» и проведите ее на том месте, где стоит персонаж. В нашем случае легко сориентироваться по белой линии поля. Рекомендуем подогнать линию под цвет фона.
- Теперь возвращаемся к «Коду» и щелкаем по спрайту персонажа.
- Из «Движение» берем «Изменить y на», заходим в «Переменные» и переносим оттуда «Гравитация» в окошко с числом – вместо 10 по умолчанию появится «Гравитация».
- Добавляем еще одну комбинацию из «Управления», а именно «Если, то».
- В пустое окошко «Если, то» нужно добавить «Сенсор», под названием «Касается цвета».
- Щелкните курсором по окошку с цветом, в выпавшем меню выберите пипетку и наведите ее на нарисованную линию или объект, от которого он должен отталкиваться.
- Добавляем в код «Переменную» под названием «Задать (Гравитация)». В качестве значения установите 1.
- Добавляем механику прыжка. Для этого перетаскиваем в комбинацию «Управление», а именно «Если, то».
- В окошко нужно добавить «Сенсор» под названием «Клавиша (установленная кнопка) нажата».
- Снова возвращаемся к «Переменным», чтобы добавить оттуда «Изменить (Гравитацию) на» и указываем подходящее число. Чем оно больше, тем сильнее подлетит персонаж вверх.
Жмите на пробел или другую установленную клавишу и персонаж будет подпрыгивать в воздух. Чтобы прыжок стал более эффектный, можете добавить смещение персонажа вперед.