Перейти к основному содержимому

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

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

Откуда материалы
Эта глава собрана из учебных материалов курса «3 Scratch» (демосцена, платформер) и дополняет каталог стартовых проектов MIT. Сначала сделайте remix проекта Gravity Example, затем повторите логику ниже.


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

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

СостояниеЧто видно на сценеЧто делает код
СтоитНоги на платформеСкорость по 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Свой узор демосцены

Что дальше


См. также

Другие статьи этого же раздела в боковом меню (как на странице «О разделе»).