Примеры скриптов Scratch

Приветствую! Здесь вы наверняка найдете, что ищете. Примеры в лаборатории рассчитаны на то, что мы разбираем что-то конкретное.

Текущая статья посвящена практикум Scratch 3.0 — события, переменные, циклы, клоны и пошаговая отладка отдельных блоков..

Поэтому за теорией по текущей теме вам — в энциклопедию. Если ещё не погружались, то маршрут прост:

  1. Основы
  2. Система и сеть
  3. Данные и разметка
  4. Код и разработка
  5. Языки
  6. Искусственный интеллект
  7. Проект
  8. Инфраструктура и безопасность
  9. Спин-офф

Обязательно пройдитесь.

А теперь приступим к нашему предмету.


Порядок изучения

Сначала «События и сообщения», затем «Переменные», «Циклы», «Клоны». Готовые мини-проекты с разбором каждого блока — в галерее мини-проектов Scratch (квадрат, монеты, лабиринт, гравитация, клоны).

Шесть полных игр — в главах Scratch — радужные линии и первый проектScratch — продвинутый платформер.

Дальше по железу — Arduino и micro:bit (плата с LED вместо спрайта на экране).


Базовые термины

Термин Объяснение
Спрайт Объект на сцене: персонаж, кнопка, предмет
Сцена Фон и координатная система (−240…240 по X, −180…180 по Y)
Скрипт Цепочка блоков, запускаемая событием
Переменная Именованное значение (число, строка)
Сообщение Именованный сигнал между спрайтами
Клон Копия спрайта с собственным скриптом

События и сообщения

Событие — точка входа: зелёный флаг, клик, клавиша, получение сообщения.


Пример: старт сцены

когда щёлкнут по ⚑
говорить [Добро пожаловать! Нажми пробел] в течение (2) секунд

Пример: сообщение между спрайтами

Кнопка:

когда щёлкнут по этому спрайту
передать сообщение [старт] и ждать

Герой:

когда я получу сообщение [старт]
показать
идти в точку x: (0) y: (-80)

Шаги: создайте сообщение старт в выпадающем списке блока «передать сообщение»; имена должны совпадать побуквенно.


Типичные ошибки

  • Нет блока когда щёлкнут по ⚑ — скрипт не стартует при запуске игры.
  • Опечатка в имени сообщения.

Переменные и счёт

Пример: счётчик монет

когда щёлкнут по ⚑
установить [счёт] в (0)

когда я коснусь спрайта [монета v]
изменить [счёт] на (1)
спрятать

Шаги: переменная счёт → «для всех спрайтов»; монета после касания скрывается, чтобы не начислять очки повторно.


Условия и циклы

Пример: движение с границами

когда щёлкнут по ⚑
навсегда
  если <клавиша [→] нажата?> то
    изменить x на (5)
  конец
  если <касается края?> то
    отразиться от края
  конец
  ждать (0.02) сек
конец

Пример: цикл с известным числом повторений

повторить (10)
  переместиться на (10) шагов
  повернуть вправо на (36)
конец

Процедуры (свои блоки)

  1. Сделать → Создать блок — имя, например прыгнуть.
  2. Определите тело процедуры.
  3. Вызывайте блок из других скриптов.
определить прыгнуть
изменить y на (20)
ждать (0.2) сек
изменить y на (-20)

Клоны

Клоны нужны для пуль, врагов, монет, частиц.

когда щёлкнут по ⚑
спрятать

когда нажата клавиша [пробел]
создать клон самого себя

при создании клона
показать
повторять до <касается края?>
  переместиться на (8) шагов
конец
удалить этот клон

Правило: в конце жизни клона всегда удалить этот клон.


Что дальше

Соберите мини-проекты из фрагментов выше — Scratch — мини-проекты с разбором блоков. Шесть полных игр с контрольными точками — в главах Scratch — радужные линии и первый проектScratch — продвинутый платформер.