Статьи

Работа с управлением, зондированием и операторами на пустом месте

Конечный продукт
Что вы будете создавать

В предыдущем уроке вы работали над проектом, чтобы краб преследовал кошку по экрану, и добавили движение, внешний вид и звуковые эффекты.

В этой части мы продолжим работу над этим проектом и добавим еще несколько блоков Control , Sensing и Operator, чтобы добавить интерактивности в проект.

Для завершения этого урока вам понадобится:

  • бесплатный аккаунт с нуля
  • веб-браузер с доступом к Scratch (я рекомендую использовать современный браузер, такой как Chrome, Firefox, Safari или Opera для лучшего опыта)

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

В зависимости от того, работали ли вы с этим учебником, есть два способа начать работу с этим учебником:

  • Откройте проект, который вы создали для последнего урока, и сделайте его дубликат.
  • Сделайте ремикс проекта, который я создал, чтобы поддержать последний урок.

В качестве альтернативы вы можете просто продолжить работу в том же проекте, который вы уже создали. Вот как вы делаете каждый из них (вам нужно сделать только один).

Откройте Scratch и перейдите к проекту, который вы хотите скопировать. Убедитесь, что вы нажали кнопку See Inside , чтобы увидеть работу проекта.

На панели инструментов выберите « Файл»> «Сохранить как копию» :

Дублирование вашего собственного проекта

Скретч откроет вашу новую копию. Переименуйте его и начните работать над этим.

Войдите в Scratch и перейдите на страницу моего проекта о движении, внешности и звуке .

Нажмите кнопку See Inside , чтобы просмотреть проект:

Remixing My Project

Теперь нажмите кнопку Remix . Скретч сохранит дубликат моего проекта как новый проект в вашем аккаунте. Переименуйте его, и вы готовы!

Вы уже добавили один тип блока управления в свой проект: цикл. Вы добавили вечный цикл к спрайтам кошек и крабов, чтобы они повторяли одно и то же действие, и добавили повторный цикл к морской звезде, чтобы он повторял действие определенное количество раз.

Теперь мы объединим блок управления с блоком восприятия, чтобы что-то произошло, если выполняется условие. Условие состоит в том, что кошка и краб соприкасаются, и что случится, так это то, что кошка мяукает.

Нажмите на свой спрайт Cat и отредактируйте сценарий, который вы уже создали для него. На данный момент у вас есть звуковой блок ( play sound meow ). То, что вам нужно сделать, это заключить в блок управления, чтобы кошка мяукала при касании краба.

Под next costume блоком next costume блоком wait 0.2 secs перетащите блок if - then из блоков управления . Поместите блок play sound meow в этот цикл и убедитесь, что блок wait находится под ним.

Ваш скрипт будет выглядеть так:

Conditionals

Теперь перейдите к чувствительным блокам и перетащите 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 .

Ваш скрипт будет выглядеть так:

Настройка звука на основе ответа пользователя

Это начинает становиться большим! Если вы хотите добавить несколько комментариев, чтобы помочь вам определить, что делает каждый раздел скрипта, просто щелкните правой кнопкой мыши скрипт и выберите добавить комментарий в контекстном меню.

Теперь, когда вы нажмете на зеленый флажок и ответите на вопрос, кошка издаст выбранный вами шум.

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

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

В следующей части серии мы продолжим работу над этим проектом, добавив переменные и данные, чтобы мы могли сохранить счет и время игры.