Scratch — платформер и демосцена

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

Откуда материалы

Эта глава собрана из учебных материалов курса "3 Scratch" (демосцена, платформер) и дополняет каталог стартовых проектов MIT.

Сначала сделайте remix проекта Gravity Example, затем повторите логику ниже.

Полный уровень со склонами и врагом — практика 6 — платформер; хитбокс — §19 справочника.


Платформер — три состояния героя

В классическом платформере персонаж почти всегда в одном из состояний:

Состояние Что видно на сцене Что делает код
Стоит Ноги на платформе Скорость по Y = 0, ждёт нажатия прыжка
Прыжок Кот "отталкивается" вверх Резко увеличить Y, включить костюм прыжка
Падение Кот летит вниз Каждый кадр уменьшать Y, пока не коснётся земли

Костюмы из курса (Кот Scratch):

Костюм Файл в курсе
Прыжок Прыжок
Падение Падение
Остановка на земле Остановка

В Scratch назовите костюмы так же — прыжок, падение, стоит — и переключайте их блоком включить костюм.


Шаг 1. Гравитация в цикле всегда

[Когда 🟢 нажат]
установить [скорость_y v] в (0)
установить [на_земле v] в (истина)

всегда
  если <нажата клавиша [пробел] и <(на_земле) = истина>> то
    установить [скорость_y v] в (12)
    установить [на_земле v] в (ложь)
    включить костюм [прыжок]
  конец

  изменить [скорость_y v] на (-1)        // гравитация
  изменить y на (скорость_y)

  если <касается [земля] или касается цвета [#00ff00]?> то
    установить [скорость_y v] в (0)
    установить y в ((пол) + (высота_спрайта / 2))
    установить [на_земле v] в (истина)
    включить костюм [стоит]
  иначе
    если <(скорость_y) < (0)> то
      включить костюм [падение]
    конец
  конец

  ждать (0.02) сек.

Советы:

  • Спрайт земля — зелёный прямоугольник внизу сцены; можно проверять цвет под ногами вместо касания спрайта.
  • Переменная скорость_y — глобальная или только для героя.
  • Без ждать внутри всегда Scratch перегрузится — оставьте паузу 0.01–0.05 сек.

Шаг 2. Движение влево и вправо

Отдельный скрипт (параллельно с гравитацией):

[Когда 🟢 нажат]
всегда
  если <нажата клавиша [стрелка вправо]?> то
    изменить x на (5)
  конец
  если <нажата клавиша [стрелка влево]?> то
    изменить x на (-5)
  конец
  если <x > (230)> то
    установить x в (230)
  конец
  если <x < (-230)> то
    установить x в (-230)
  конец
  ждать (0.02) сек.

Так герой скользит по платформе, а гравитация работает независимо — два скрипта в одном спрайте, как в главе про события.


Шаг 3. МонеВы и враги (закрепление)

Элемент Блоки из учебника Scratch
Монета если касается монеты+1 к очки, спрятать, звук
Враг если касается врагажизни - 1, короткая неуязвимость
Победа если очки = 10остановить все, сообщение

Готовый шаблон с похожей логикой: Maze Starter и Hide and Seek из каталога MIT.


Демосцена

Демосцена — жанр, где программа рисует эффектный ролик в реальном времени — плазма, фракталы, 3D-иллюзи. В Scratch такие проекты учат оптимизации (мало спрайтов, много вычислений в всегда) и работе с перо и эффектами.

ПроекВы для разбора (от простого к сложному):

  1. Bezier Curve Generator — кривые, координаты
  2. Plasma PG2 — цвет и циклы
  3. Opac3tyD v1.4 (Demoscene) — псевдо-3D
  4. dodecagon Sierpinski — фрактал, повторения

Как смотреть код: откройте проект → Remix → ищите скрипВы с опустить перо, изменить эффект, повторить и переменные угла/радиуса. Меняйте одно число за раз и запускайте снова.

Связь с теорией: модуль "Перо", случайные числа, starter Spin Art.


Мини-проекты на одно занятие

Время Задание Результат
45 мин Remix Gravity Example + свой фон Прыжок по платформам
45 мин Три костюма "стоит / прыжок / падение" Живой персонаж
90 мин 5 монет + счётчик жизней Мини-игра
60 мин Remix Spin Art или Pen Flower Свой узор демосцены

Что дальше