В этом уроке мы познакомимся с базовыми командами в Скретч: событиями и сенсорами. И покажем, как новичкам создать простую программу. Инструкция предназначена для детей 7-8 лет и старше.
Scratch — визуальная среда, с которой многие дети начинают освоение программирования. Здесь можно познакомиться с логикой составления программы, изучить такие понятия, как переменная, цикл, условная конструкция и многое другое.
Программа в Скретч создается путем соединения блоков — разноцветных кирпичиков, которые примагничиваются друг к другу и формируют ветвь. В этом туториале мы изучим две основные категории команд в Scratch: события и сенсоры. А также создадим небольшую программу для персонажа, чтобы увидеть блоки в действии.
Урок подготовлен онлайн-школой программирования для детей Pixel. В конце материала вы можете найти видеоролик, в котором преподаватель показывает все блоки и разбирает мини-игру.
События в Scratch
Открываем официальный сайт Скретч. Для того чтобы начать обучение, вы можете либо создать аккаунт на сайте (это понадобится, чтобы сохранить проект), либо скачать среду на свой ПК. У нас есть инструкция по загрузке.
Все программы на языке Scratch начинаются с блоков из палитры «События», они обозначены желтым цветом.
Разберем несколько команд из этой категории:
Чаще всего программа запускается при нажатии на флажок, для этого нужно использовать блок «Когда флажок нажат».
Таким же функционалом обладает блок «Когда клавиша пробел нажата». В нем есть и множество других клавиш, при нажатии на которые будет запускаться программа: например, можно выбрать стрелки или буквы. Их можно увидеть в выпадающем списке блока.
Блок «Когда спрайт нажат» запускает программу в том случае, если пользователь нажимает левой кнопкой мыши на спрайт.
Событие «Когда фон сменился на заданный из списка» будет запускать нашу программу в случае изменения фона на какой-то определенный.
Блок «Когда громкость (или таймер) больше 10 (последнее значение можно поменять)» будет запускать программу при условии, если параметры таймера (который запускается в момент, когда открывается Scratch, и автоматически перезапускается при старте программы) или громкости (которую фиксирует микрофон, встроенный в компьютер) будут превышать определенное значение.
Блоки сообщения необходимы для того, чтобы в определенный момент выполнения одной программы мы могли запустить другую. То есть передать ей сообщение о том, что пора запускаться.
Блок «Передать сообщение» отправляет команду для начала другой программы, которая стартует с блока «Когда я получу сообщение». Само же сообщение мы можем создать, нажав на «Новое сообщение».
Блок «Передать сообщение и ждать» доставляет сообщение и ждет окончания выполнения другой программы, которая получила сообщение. Только после этого продолжается программа, из которой оно было отправлено.
Давайте попробуем сделать так, чтобы при нажатии клавиши «Стрелка вправо», наш персонаж — котик Скретч — шел вправо, а при клике на кнопку «Стрелка влево» — влево. Для этого нам понадобится блок «идти 10 шагов» из палитры «Движение», обозначенной синим цветом. Составляем две мини-программы: 10 шагов в одну сторону и -10 шагов — в другую. Запускаем и проверяем.
Сенсоры в Скретч
Теперь перейдем к работе сенсоров. Подобно тому, как человек может видеть окружающий мир или ощущать касания на коже, так и программа может понимать касание спрайтом другого персонажа или какого-то цвета. Познакомимся с основными блоками из палитры.
Сенсор «Касается» определяет касание спрайтом указателя мыши, края нашей сцены или другого спрайта.
Сенсор «Клавиша нажата» определяет использование определенной кнопки на клавиатуре.
«Мышь нажата» — похожий блок, однако относящийся к касанию компьютерной мышкой.
Сенсор «Касается цвета» вычисляет, касается ли спрайт определенного цвета. Чтобы выбрать цвет, нужно кликнуть на окошко с цветом и настроить его вручную, либо использовать пипетку, наведя на цвет, который хотим повторить.
Сенсор «Цвет касается цвета» помогает выяснить, соприкасается ли конкретный цвет на спрайте с другим цветом.
Блок «Расстояние до указателя мыши» возвращает значение расстояния от спрайта до указателя мыши или другого спрайта.
Команды «Спросить и ждать» и «Ответ» выводят вопрос от спрайта и диалоговое окно для нашего ответа.
Блоки «X мыши» и «Y мыши» хранят в себе координаты указателя мыши.
Сенсор «Перетаскивать можно нельзя» отвечает за разрешение перемещать спрайт при запуске в полноэкранном режиме.
Переменные «Громкость» и «Таймер» хранят в себе значения громкости и таймера, соответственно.
Сенсоры не работают сами по себе, их необходимо встраивать в условия или циклы. Давайте рассмотрим, как это работает на примере анимации с воздушным шариком.
Добавим спрайты котика и шарика. Запуск будет работать при нажатии на зеленый флажок. Используем сенсоры касания по кнопкам со стрелками и блоки передачи сообщения из палитры «События». При нажатии на стрелки герой будет перемещаться на 10 пунктов по координатам X и Y, а при соприкосновении с голубым цветом (обозначение шарика) передавать сообщение.
Программа для котика:
Добавим программу для шарика: после касания шарик будет плыть в верхнюю часть экрана. Для этого нам понадобятся блоки «Плыть N секунд в точку X и Y» и «Перейти в X и Y» из палитры «Движение» (больше об этих командах можно узнать из другого урока).
Видео: блоки событий и сенсоров в Scratch
Посмотрите ролик с наглядным разбором урока:
Материал подготовлен детской IT-школой Pixel. Если вы хотите разобраться в возможностях Scratch, приходите на наши онлайн-курсы программирования для дошкольников и младших школьников. А также смотрите полный видеокурс по основам Scratch программирования, он доступен бесплатно.