В предыдущем уроке вы работали над проектом, чтобы краб преследовал кошку по экрану, и добавили движение, внешний вид и звуковые эффекты.
В этой части мы продолжим работу над этим проектом и добавим еще несколько блоков Control , Sensing и Operator, чтобы добавить интерактивности в проект.
Что вам нужно
Для завершения этого урока вам понадобится:
- бесплатный аккаунт с нуля
- веб-браузер с доступом к Scratch (я рекомендую использовать современный браузер, такой как Chrome, Firefox, Safari или Opera для лучшего опыта)
Начиная
Мы собираемся работать с проектом, созданным в последней части этой серии . Мы будем использовать ресурсы и сценарии, которые мы создали до сих пор, и добавим больше.
В зависимости от того, работали ли вы с этим учебником, есть два способа начать работу с этим учебником:
- Откройте проект, который вы создали для последнего урока, и сделайте его дубликат.
- Сделайте ремикс проекта, который я создал, чтобы поддержать последний урок.
В качестве альтернативы вы можете просто продолжить работу в том же проекте, который вы уже создали. Вот как вы делаете каждый из них (вам нужно сделать только один).
Дублирование вашего собственного проекта
Откройте Scratch и перейдите к проекту, который вы хотите скопировать. Убедитесь, что вы нажали кнопку See Inside , чтобы увидеть работу проекта.
На панели инструментов выберите « Файл»> «Сохранить как копию» :
Скретч откроет вашу новую копию. Переименуйте его и начните работать над этим.
Remixing My Project
Войдите в Scratch и перейдите на страницу моего проекта о движении, внешности и звуке .
Нажмите кнопку See Inside , чтобы просмотреть проект:
Теперь нажмите кнопку Remix . Скретч сохранит дубликат моего проекта как новый проект в вашем аккаунте. Переименуйте его, и вы готовы!
Что-то случится, если условие будет выполнено
Вы уже добавили один тип блока управления в свой проект: цикл. Вы добавили вечный цикл к спрайтам кошек и крабов, чтобы они повторяли одно и то же действие, и добавили повторный цикл к морской звезде, чтобы он повторял действие определенное количество раз.
Теперь мы объединим блок управления с блоком восприятия, чтобы что-то произошло, если выполняется условие. Условие состоит в том, что кошка и краб соприкасаются, и что случится, так это то, что кошка мяукает.
Нажмите на свой спрайт Cat и отредактируйте сценарий, который вы уже создали для него. На данный момент у вас есть звуковой блок ( play sound meow
). То, что вам нужно сделать, это заключить в блок управления, чтобы кошка мяукала при касании краба.
Под next costume
блоком next costume
блоком wait 0.2 secs
перетащите блок if - then
из блоков управления . Поместите блок play sound meow
в этот цикл и убедитесь, что блок wait
находится под ним.
Ваш скрипт будет выглядеть так:
Теперь перейдите к чувствительным блокам и перетащите touching ?
блок в пространство внутри блока if - then
. Из выпадающего списка в touching ?
Блок, выберите Краб .
Теперь, когда вы нажимаете на зеленый флаг и перемещаете мышь, кошка будет мяукать только тогда, когда коснется краба.
Предоставление пользователю контроля, как реагирует кот
Теперь давайте добавим немного больше интерактивности в проект. Вместо того, чтобы кошка мяукать всякий раз, когда она касается крабов, мы позволяем пользователю выбирать звук, который издает кошка.
Мы сделаем это, добавив блок Sensing (блок Ask), а затем используем два условных цикла в сочетании с блоками Operator для ответа на ответ пользователя.
Затем мы добавим две условные петли (блоки управления ), снова объединенные с блоками оператора , чтобы определить звук, воспроизводимый, когда кошка касается мыши.
Давайте начнем с того, что спросим пользователя, что скажет кошка при прикосновении.
Задать вопрос пользователю и ответить на него
Нажмите на свой спрайт кошки и отредактируйте сценарий, который вы уже создали для него.
Под блоком, when green flag clicked
, перетащите блок Ask из блоков Sensing . В этом месте введите «Должен ли кошка мяукать или кричать, когда его порезал краб?».
Затем перейдите к блокам Control и перетащите блок if - else
ниже блока ask
.
Перейдите к блокам Operator и перетащите блок =
в пробел в разделе if - else
блока if - else
. Теперь перейдите к блокам Sensing и перетащите блок answer
в первый пробел в блоке =
. Во втором поле в блоке =
введите «мяу».
Затем из блоков Looks перетащите блок say - for 2 secs
внутри первого цикла if
. Введите «мяу» в пространство в этом блоке.
Ваш скрипт теперь будет выглядеть так:
Теперь перетащите блок if
в секцию else
вашего блока if - else
. Повторите вышеописанный процесс с блоком if
, заменив «мяу» на «крик».
Весь сценарий теперь будет выглядеть так:
-
when green flag clicked
-
ask Should the cat meow or scream when it's nipped by the crab?
-
if answer = meow then
-
say meow! for 2 secs
-
else
-
if answer = scream then
-
say scream for 2 secs
-
forever
-
point towards mouse-pointer
-
move 10 steps
-
next costume
-
if touching Crab then
-
play sound meow
-
wait 0.2 secs
Вот как это будет выглядеть на вашем экране:
Настройка звука на основе ответа пользователя
Следующим шагом является изменение звука в зависимости от реакции пользователя.
Первое, что нам нужно сделать, это добавить еще один звук в спрайт кота.
Все еще с выбранной кошкой, нажмите на вкладку Звуки и нажмите значок « Выбрать звук из библиотеки» (левый). В библиотеке выберите звук крика (вы найдете его в разделе « Человек »). Нажмите кнопку ОК , и звук будет добавлен на панель « Звуки кошки».
Теперь мы можем использовать этот звук в нашем скрипте. Вернитесь на панель « Сценарии» и отредактируйте раздел сценария, который включает блок « if touching crab
блок play sound meow
.
Отредактируйте его так, чтобы он содержал эти блоки в следующем порядке:
-
if touching Crab then
-
if answer = meow then
-
play sound meow
-
else
-
if answer = scream then
-
play sound scream-female
Вам нужно будет использовать блок if - else
блок if
из блоков Control , два блока =
из блоков Operator и два блока answer
из блоков Sensing .
Ваш скрипт будет выглядеть так:
Это начинает становиться большим! Если вы хотите добавить несколько комментариев, чтобы помочь вам определить, что делает каждый раздел скрипта, просто щелкните правой кнопкой мыши скрипт и выберите добавить комментарий в контекстном меню.
Теперь, когда вы нажмете на зеленый флажок и ответите на вопрос, кошка издаст выбранный вами шум.
Обратите внимание, что если вы введете ответ, отличный от «мяу» или «крик», скрипт не будет работать должным образом. Поскольку существует очень реальный риск ошибки ввода пользователя, мы вернемся к этому позже в этой серии и упростим выбор пользователем одного из двух ответов.
Резюме
Добавив некоторые блоки управления, контроля и оператора в наш проект, мы смогли включить некоторые взаимодействия. Теперь пользователь решает, что скажет кошка, когда ее порезает краб, и при этом будет воспроизводиться соответствующий звук.
В следующей части серии мы продолжим работу над этим проектом, добавив переменные и данные, чтобы мы могли сохранить счет и время игры.