Scratch — продвинутый платформер

Начальный уровень

Связь с курсом 3 Scratch

Базовая гравитация и три костюма героя — в главе "платформер и демосцена".

Здесь — уровень полноценной игры — склоны, хитбокс, враг.


Эскиз

Кот ходит и прыгает по земле со склонами и платформами. Собирает яблоки. Краб патрулирует; касание отнимает жизнь или перезапускает уровень.

Часть Функция
А Гравитация (как в Scratch — баскетбол и гравитация)
Б Склоны — касание цвета под углом
В Низкий и высокий прыжок (короткое / долгое нажатие пробела)
Г Хитбокс-костюм
Д Уровень, яблоко, краб

Часть А — гравитация и земля

Соберите спрайт Земля из зелёных сегментов (пол + платформы). У кота — скрипт из Scratch: платформер и демосцена или Scratch — баскетбол и гравитацияскорость_y, на_земле, касание Земля или цвета #00cc00.

Контрольная точка: кот стоит на полу и падает с платформы, если сойти с края.


Часть Б — склоны

Нарисуйте на Земля полосу другого оттенка (например светло-зелёного) под углом. У кота:

если <касается цвета [#90ee90]?> то
  изменить y на (2)
  изменить x на (2)
конец

Подберите сдвиги x/y, чтобы кот "езжал" вверх по склону. Для потолка — отдельный цвет и отмена прыжка (§20).


Часть В — прыжок

  • Короткое нажатие пробела — скорость_y = 10.
  • Долгое — удержание увеличивает силу (счётчик в повторять пока <нажата [пробел]>).

Или два отдельных скрипта с разными порогами ждать (0.15) перед прыжком.


Часть Г — хитбокс

  1. У кота два костюма: обычный и хитбокс (маленький прозрачный овал внизу ног).
  2. Перед проверкой столкновений: включить костюм [хитбокс].
  3. Проверка касается [Земля] / краба / яблока.
  4. включить костюм [обычный].

Так голова не цепляется за платформу сверху. Подробно — §19.


Часть Д — анимация ходьбы

Три костюма — стоит, шаг_1, шаг_2. В цикле ходьбы:

следующий костюм
ждать (0.1) сек.

Прыжок и падение — отдельные костюмы, как в Scratch: платформер и демосцена.


Часть Е — яблоко и краб

Яблоко: при касании хитбоксом → +1 к очки, спрятать, звук.

Краб: повторять всегдаидти (3) шага, если касается краяразвернуться. При касании кота → отправить [урон] → кот на старт, минус жизнь.

Простой ИИ — только патруль влево-вправо; этого достаточно для первого врага.


Вопросы для самопроверки

  1. Зачем переключать костюм хитбокса только на время проверки?
  2. Чем склон отличается от обычной платформы в коде?
  3. Какие три состояния героя видны на сцене?

Что дальше

Дальше Ссылка
Remix и шаблоны MIT Стартовые проекты MIT Scratch
Edublocks / Python Edublocks, Программа на Python
Метод обучения Scratch — как учиться по проектам
Lab — все мини-проекты Scratch — мини-проекты с разбором блоков — галерея