В последней части этой серии мы рассмотрели ресурсы в Scratch — фоны, спрайты, костюмы и аудио. Создав некоторые активы, вы должны заставить их что-то делать, и именно здесь появляются блоки.
Блоки — это строки или блоки кода, которые вы перетаскиваете в свой проект для создания сценария. С каждым активом может быть связано более одного сценария, и каждый сценарий может иметь столько блоков, сколько вам нужно.
По мере того, как вы приобретаете больше опыта в Scratch и начинаете создавать более сложные проекты, вы обнаружите, что ваши сценарии могут быть довольно длинными и сложными, поэтому важно найти наиболее эффективный способ создания сценариев и наиболее эффективные возможные блоки. Это хороший навык для изучения, если вы используете Scratch в качестве отправной точки, чтобы научить себя или других, как писать код, так как написание аккуратного, эффективного кода важно.
Позже в этой серии я расскажу о каждой категории блоков более подробно и продемонстрирую их использование в проектах, но в этой статье я дам вам краткий обзор различных типов блоков и того, что вы можете с ними сделать.
Использование блоков на пустом месте
Чтобы использовать блок, просто выберите актив, к которому он применяется, и перетащите его на панель скриптов.
На скриншоте ниже вы можете увидеть проект, который я создал в последней части. В этом проекте есть несколько спрайтов, но еще нет сценариев.
Чтобы начать создание сценария, щелкните ресурс, к которому вы хотите применить его (сцена или спрайт), а затем перетащите соответствующие блоки на панель сценариев справа. Чтобы добавить несколько блоков в скрипт, перетащите новые блоки в то место в скрипте, где вы хотите, чтобы они появлялись. Вы можете добавить новые блоки выше или ниже существующих блоков.
Чтобы добавить несколько сценариев, просто перетащите новый блок на панель сценариев, но подальше от существующих сценариев.
Чтобы удалить блок из скрипта, просто перетащите его влево от панели скриптов. Обратите внимание, что вы можете сделать это только для нижнего блока в скрипте или для отдельного блока: если вы перетаскиваете блок из панели скриптов, к которой прикреплены другие блоки, все блоки под ним также будут удалены. , Если вы хотите сделать это, выберите блок сразу под тем, который вы хотите удалить, и перетащите его из сценария. Затем перетащите блок, который вы хотите удалить (т. Е. Нижний), из области сценариев и перетащите блоки, которые вы удалили, обратно на место.
Вы также можете удалить блоки, используя контекстное меню, к которому вы обращаетесь, щелкая правой кнопкой мыши по блоку. То же самое относится и к перетаскиванию блоков: если вы удаляете блок с другими блоками под ним, эти блоки также будут удалены.
Вы также можете использовать контекстное меню, чтобы добавлять комментарии к своим сценариям, дублировать их или получать помощь в блоке, на котором вы щелкнули правой кнопкой мыши.
Типы блоков с нуля
Скретч дает вам десять категорий блоков, каждая из которых включает в себя несколько блоков, которые вы можете использовать для выполнения аналогичных работ. Эти:
- движение
- Видать
- Звук
- Ручка
- Данные
- События
- контроль
- считывание
- оператор
- Пользовательские блоки (или больше блоков )
Давайте посмотрим, что включает в себя каждая из этих категорий.
Блоки движения
Блоки движения — это то, что вы используете для размещения своих спрайтов на сцене или их перемещения. Они темно-синие. Вы можете использовать блоки движения только со спрайтами, а не со сценой.
Блоки движения включают в себя следующие типы движения:
- Движущиеся спрайты.
- Превращение спрайтов.
- Заставить спрайты указывать в заданном направлении или навстречу друг другу.
- Перемещение спрайтов в заданную точку на сцене, в другой спрайт или указатель мыши. Это движение может быть мгновенным с использованием блоков
go to
или постепенным использованием блокаglide
. - Изменяя координаты x и y спрайта на сцене, изменив его текущее значение (
change x/y by
) или установив фиксированное значение (set x/y to
). - Заставить спрайт отскочить, если он достигнет края сцены.
- Изменение стиля, с которым вращается спрайт.
- Установка координат спрайта x или y или направления его движения для отображения на сцене.
Это звучит очень просто, но они являются основой для многих игр и анимаций. Мы будем использовать блоки движения в примере проекта позже в этой серии.
Выглядит блоки
Блоки внешнего вида окрашены в пурпурный цвет, и они управляют тем, как выглядят ваши спрайты и фон, насколько они велики и отображаются ли они перед другими активами или позади них. Блоки Looks также включают блоки, которые позволяют отображать текст.
Блоки внешнего вида могут использоваться со спрайтами и фоном, хотя некоторые из них применимы только к спрайтам. Основные типы блоков Looks:
- Блоки для отображения текста, либо на фиксированный период времени, либо на неопределенный срок.
say
блоки будут отображать текст в речевом пузыре, в то время как блокиthink
будут отображать его в пузыре мысли. Вы можете комбинировать это с другими блоками, такими как блоки данных или восприятия, чтобы отображать значения, хранящиеся в этих блоках, вместо статического текста. Вы можете использовать эти блоки только со спрайтами. - Блоки для отображения или скрытия спрайтов, которые вы не можете использовать со сценой.
- Блоки для переключения костюмов (спрайтов) или фонов (сцена). В каждом случае вы можете переключиться на определенный костюм или фон или на следующий костюм или фон. Это может быть объединено с циклом, когда вы хотите многократно переключать костюмы или фоны, и экономит добавляя много-много блоков.
- Блоки для изменения цветовых эффектов или их удаления. Вы можете изменить цвет на значение или установить его на фиксированное значение. Используйте эти блоки со спрайтами или фонами.
- Блоки для изменения размера спрайтов, полезны для увеличения масштаба. Вы можете изменить размер на фиксированную сумму или в процентах. Вы не можете использовать эти блоки со сценой.
- Блоки для перемещения спрайтов (а не сцены, которая всегда сзади) назад или вперед, используя слои. Используйте их, чтобы создать эффект движения предметов к зрителю, возможно, в сочетании с размерами блоков.
- Блоки для отображения номера костюма, названия фона и / или размера спрайта на сцене.
Блоки внешнего вида действительно полезны для создания анимированных эффектов и могут использоваться для создания некоторых мощных эффектов в сочетании с блоками управления и событиями.
Звуковые блоки
Следующий набор блоков — это розовые звуковые блоки. Если вы учите группу детей программировать с помощью Scratch, вы скоро обнаружите, что они очень популярны!
Блоки подпадают под следующие категории:
- Блокирует воспроизведение или остановку звуков, включая звуки из библиотеки и те, которые вы загружаете или записываете.
- Блоки для воспроизведения звуков ударных и нот для определенного количества ударов или для отдыха для количества ударов.
- Блоки для изменения или установки громкости или темпа и отображения их на сцене.
Использование звуковых блоков добавляет другое измерение к вашей анимации и играм и может помочь улучшить пользовательский опыт, например, если вы добавляете звуковые эффекты, которые соответствуют событиям в игре.
Блоки пера
Вы можете использовать зеленые блоки Pen для создания интерактивных игр, в которых пользователь может рисовать на сцене. Комбинируйте блоки перьев с блоками событий и управления, чтобы создавать интерактивные приложения для рисования, как по отдельности, так и в рамках игры. Вы также можете использовать некоторые блоки другими способами, например, используя блок очистки, чтобы очистить экран при переходе на новый уровень в игре.
Блоки пера включают в себя:
- Блоки для очистки сцены.
- Блоки для перемещения пера вниз и вверх, чтобы он рисовал на сцене.
- Блоки для установки и изменения цвета, оттенка и размера пера.
Вы увидите, как использовать блоки пера в рабочем примере позже в этой серии. Обратите внимание, что со сценой может использоваться только блок clear
: остальные предназначены только для спрайтов.
Блоки данных
Блоки данных позволяют создавать и манипулировать данными в ваших анимациях и играх. Вы можете создать два типа данных: переменные и списки. Их можно использовать со спрайтами и со сценой.
Переменные позволяют вам определять значения для переменной, а затем использовать ее в своем проекте. Они отлично подходят для определения времени игр или для подсчета очков, а также для определения того, сколько раз нужно запустить цикл. Блоки данных имеют оранжевый цвет для переменных и оранжевый коричневый цвет для списков.
Как только вы создадите переменную, вы увидите несколько блоков переменных:
- Блоки для установки значения вашей переменной и его изменения.
- Блоки для отображения и скрытия вашей переменной.
Списки могут использоваться для хранения и управления сгруппированными или связанными данными.
Как только вы создадите список, вам будет доступно несколько блоков:
- Блоки для добавления, вставки или удаления значений в вашем списке, в качестве дополнительных элементов или замены существующих элементов.
- Блоки данных, относящиеся к длине вашего списка или к определенному элементу в нем, которые вы затем можете использовать с другими блоками, такими как блоки операторов.
- Блоки, чтобы показать и скрыть свой список.
Блоки данных выводят Scratch на более продвинутый уровень, близкий ко многим языкам программирования, и означают, что ваши проекты могут реагировать на события и вводимые пользователем данные различными способами. Их можно использовать со спрайтами и со сценой.
Блоки событий
Коричневые блоки Событий имеют фундаментальное значение для Scratch, так как без них ничего не произойдет. Каждый сценарий будет иметь в своем начале событие, которое указывает сценарию на выполнение. Это может быть зеленый флаг, по которому щелкают для запуска проекта, или это может быть событие, которое запускается во время работы вашего проекта. Используйте все блоки событий со сценой или вашими спрайтами: имя некоторых из них будет немного меняться в зависимости от того, с кем вы работаете.
Блоки событий включают в себя:
- Все, что важно,
when green flag clicked
блок, который начинает все с. Вы можете использовать это с несколькими сценариями в вашем проекте. - Блокирует другие взаимодействия с пользователем, такие как нажатие клавиши, нажатие сцены или спрайта.
- События, вызванные сменой фона или костюма (зависит от того, применяется ли ваш сценарий к сцене или спрайту). Блок для реагирования на изменения громкости, движения или таймера.
- Блоки, относящиеся к сообщениям: один спрайт может передавать сообщение, когда с ним что-то происходит, и затем другой спрайт отвечает на это сообщение блоком событий. Эти сообщения не отображаются на экране: это внутренние сообщения в коде.
События полезны для запуска сценариев, как при запуске проекта, так и во время его работы.
Блоки управления
Управляющие блоки позволяют вам управлять блоками в ваших скриптах, вставляя условные операторы, циклы, повторы и паузы. Они могут сделать ваш код намного более эффективным, и могут быть очень мощными в сочетании с переменными и / или операторами.
Блоки управления включают в себя:
- Блокирует паузу: либо ожидание в течение заданного периода времени, либо ожидание, пока что-то не произойдет, или пользователь что-то сделает.
- Условные блоки: оберните их вокруг набора блоков, чтобы что-то произошло, если условие выполнено.
- Циклы: повторять набор блоков заданное количество раз, навсегда, или пока что-то не произойдет или не будет выполнено условие.
- Блок для остановки всех петель.
- Блоки для создания и использования клонов: они позволяют дублировать спрайт и использовать его повторно. Это единственные блоки управления, которые нельзя использовать со сценой.
Блоки управления отлично подходят для добавления интерактивности в ваш проект, а также для написания более эффективного кода — полезная вещь для изучения!
Чувствительные блоки
Чувствительные блоки окрашены в светло-голубой цвет. Они позволяют вам определить, что происходит в данной точке, и заставить ваши спрайты или фон реагировать.
Чувствительные блоки включают в себя:
- Блоки для определения того, соприкасаются ли предметы (включая пятна и цвета) друг с другом или на заданном расстоянии друг от друга. Вы можете использовать их только со спрайтами, а не со сценой.
- Блоки, чтобы задать пользователю вопрос — вы можете использовать ответ, например, в условных блоках.
- Блокирует обнаружение нажатий клавиш и щелчков мышью.
- Видеоблоки для обнаружения и записи движения или направления спрайтов.
- Блоки для определения времени выполнения проекта.
Вы можете использовать блоки управления в играх, чтобы игрок проигрывал, когда один объект касается другого, или для определения, движется ли спрайт достаточно быстро, например, для падения через другой спрайт.
Операторские блоки
Операторские блоки позволяют сравнивать или выполнять арифметические функции для различных значений и могут использоваться вместе с блоками данных или чувствительными блоками среди других.
Операторы включают в себя:
- Блоки для сложения, вычитания, умножения и деления одного значения на другое. Это могут быть блоки данных, которые вы определили, или ответ на вопрос, который вы задали, используя сенсорный блок.
- Блок для выбора случайного числа между двумя числами, которые вы определяете.
- Блоки для определения, если два значения меньше, больше или равны друг другу.
- Булевы блоки:
not
,and
иor
. Используйте их для объединения значений в управляющих блоках, таких как блокиif
иrepeat
. - Блоки для объединения других блоков или работы только с одной частью значения блока (такой как первая буква).
- Блоки для округления значений и определения наличия остатка в результате вычисления.
Вы можете использовать все операторские блоки со спрайтами и сценой.
Больше блоков
Используйте темно-фиолетовые «дополнительные» блоки, чтобы создать свои собственные блоки. Это полезно для повышения эффективности вашего кода. Если у вас есть набор блоков, которые вы часто используете в своем проекте, например, между спрайтами или сценариями для эхо-спрайта, вы можете определить один блок, который включает в себя этот набор блоков (или подпрограмму), и использовать его всякий раз, когда вы хотите запустить вся рутина. Это немного похоже на создание функции или класса в других языках программирования.
Здесь вы также можете добавить расширения, связывающие аппаратные средства, такие как picoboard или Lego WeDo, чтобы добавить физические входы в ваш проект или управлять созданными вами роботами.
Резюме
Scratch поставляется с множеством блоков, которые вы можете использовать в своих проектах, которые можно расширить еще больше, если вы объедините их или создадите свои собственные. С практикой и воображением, вы мало что можете сделать с этими блоками.
В ходе работы над этой серией я сосредоточусь на различных категориях блоков и покажу, как их использовать в своих проектах.