События и сенсоры в Scratch: как создать первую программу

7ad8aeede5cb682f5fb487cec7bed87a.png

В этом уроке мы познакомимся с базовыми командами в Скретч: событиями и сенсорами. И покажем, как новичкам создать простую программу. Инструкция предназначена для детей 7–8 лет и старше.

Scratch — визуальная среда, с которой многие дети начинают освоение программирования. Здесь можно познакомиться с логикой составления программы, изучить такие понятия, как переменная, цикл, условная конструкция и многое другое.

Программа в Скретч создается путем соединения блоков — разноцветных кирпичиков, которые примагничиваются друг к другу и формируют ветвь. В этом туториале мы изучим две основные категории команд в Scratch: события и сенсоры. А также создадим небольшую программу для персонажа, чтобы увидеть блоки в действии.

Урок подготовлен онлайн-школой программирования для детей Pixel. В конце материала вы можете найти видеоролик, в котором преподаватель показывает все блоки и разбирает мини-игру.

События в Scratch

Открываем официальный сайт Скретч. Для того чтобы начать обучение, вы можете либо создать аккаунт на сайте (это понадобится, чтобы сохранить проект), либо скачать среду на свой ПК. У нас есть инструкция по загрузке.

Интерфейс среды

Интерфейс среды

Все программы на языке Scratch начинаются с блоков из палитры «События», они обозначены желтым цветом.

События в Скретч обозначены желтым цветом

События в Скретч обозначены желтым цветом

Разберем несколько команд из этой категории:

  1. Чаще всего программа запускается при нажатии на флажок, для этого нужно использовать блок «Когда флажок нажат».

  2. Таким же функционалом обладает блок «Когда клавиша пробел нажата». В нем есть и множество других клавиш, при нажатии на которые будет запускаться программа: например, можно выбрать стрелки или буквы. Их можно увидеть в выпадающем списке блока.

c889f22a2c1988aa37afa689506b4886.png

  1. Блок «Когда спрайт нажат» запускает программу в том случае, если пользователь нажимает левой кнопкой мыши на спрайт.

  2. Событие «Когда фон сменился на заданный из списка» будет запускать нашу программу в случае изменения фона на какой-то определенный.

  3. Блок «Когда громкость (или таймер) больше 10 (последнее значение можно поменять)» будет запускать программу при условии, если параметры таймера (который запускается в момент, когда открывается Scratch, и автоматически перезапускается при старте программы) или громкости (которую фиксирует микрофон, встроенный в компьютер) будут превышать определенное значение.

d9333ef241d152710ea34c0efb0c1435.png

  1. Блоки сообщения необходимы для того, чтобы в определенный момент выполнения одной программы мы могли запустить другую. То есть передать ей сообщение о том, что пора запускаться.

350d777729bf82880e023bc254736ac7.png

  1. Блок «Передать сообщение» отправляет команду для начала другой программы, которая стартует с блока «Когда я получу сообщение». Само же сообщение мы можем создать, нажав на «Новое сообщение».

  2. Блок «Передать сообщение и ждать» доставляет сообщение и ждет окончания выполнения другой программы, которая получила сообщение. Только после этого продолжается программа, из которой оно было отправлено. 

Давайте попробуем сделать так, чтобы при нажатии клавиши «Стрелка вправо», наш персонаж — котик Скретч — шел вправо, а при клике на кнопку «Стрелка влево» — влево. Для этого нам понадобится блок «идти 10 шагов» из палитры «Движение», обозначенной синим цветом. Составляем две мини-программы: 10 шагов в одну сторону и -10 шагов — в другую. Запускаем и проверяем.

3a363371ce2f8bceebba7494da18363a.png

Сенсоры в Скретч

Теперь перейдем к работе сенсоров. Подобно тому, как человек может видеть окружающий мир или ощущать касания на коже, так и программа может понимать касание спрайтом другого персонажа или какого-то цвета. Познакомимся с основными блоками из палитры.

Сенсоры в Скретч обозначены голубым цветом

Сенсоры в Скретч обозначены голубым цветом

  1. Сенсор «Касается» определяет касание спрайтом указателя мыши, края нашей сцены или другого спрайта. 

24a2a492ef283e2c5865d07b92dfea7c.png

  1. Сенсор «Клавиша нажата» определяет использование определенной кнопки на клавиатуре. 

  2. «Мышь нажата» — похожий блок, однако относящийся к касанию компьютерной мышкой.

21c653d9d714317e18b984ddd9433049.png

  1. Сенсор «Касается цвета» вычисляет, касается ли спрайт определенного цвета. Чтобы выбрать цвет, нужно кликнуть на окошко с цветом и настроить его вручную, либо использовать пипетку, наведя на цвет, который хотим повторить.

bd716980422a3e83a1b40da86189badd.png

  1. Сенсор «Цвет касается цвета» помогает выяснить, соприкасается ли конкретный цвет на спрайте с другим цветом.

d73c7335639d381854b00a7160d3a255.png

  1. Блок «Расстояние до указателя мыши» возвращает значение расстояния от спрайта до указателя мыши или другого спрайта.

0ee20f8b6be4c1ccd69803a3bae9b430.png

  1. Команды «Спросить и ждать» и «Ответ» выводят вопрос от спрайта и диалоговое окно для нашего ответа.

fe60e149974b13d4745b8dff5c9ea0ba.png

  1. Блоки «X мыши» и «Y мыши» хранят в себе координаты указателя мыши.

2bf05a130082edf668bce84a362f204c.png

  1. Сенсор «Перетаскивать можно нельзя» отвечает за разрешение перемещать спрайт при запуске в полноэкранном режиме.

1424f0a0286862b0108a297ed2eac914.png

  1. Переменные «Громкость» и «Таймер» хранят в себе значения громкости и таймера, соответственно.

897fe17e49f7643d39171c699f1bcb3b.png

Сенсоры не работают сами по себе, их необходимо встраивать в условия или циклы. Давайте рассмотрим, как это работает на примере анимации с воздушным шариком.

Добавим спрайты котика и шарика. Запуск будет работать при нажатии на зеленый флажок. Используем сенсоры касания по кнопкам со стрелками и блоки передачи сообщения из палитры «События». При нажатии на стрелки герой будет перемещаться на 10 пунктов по координатам X и Y, а при соприкосновении с голубым цветом (обозначение шарика) передавать сообщение.

Программа для котика:

bb4a80d220af6ff9a84787282608b155.png

Добавим программу для шарика: после касания шарик будет плыть в верхнюю часть экрана. Для этого нам понадобятся блоки «Плыть N секунд в точку X и Y» и «Перейти в X и Y» из палитры «Движение» (больше об этих командах можно узнать из другого урока).

fc2f372ade0f887e7372c5a972831669.png

Видео: блоки событий и сенсоров в Scratch 

Посмотрите ролик с наглядным разбором урока:

Материал подготовлен детской IT-школой Pixel. Если вы хотите разобраться в возможностях Scratch, приходите на наши онлайн-курсы программирования для дошкольников и младших школьников. А также смотрите полный видеокурс по основам Scratch программирования, он доступен бесплатно.

Habrahabr.ru прочитано 859 раз