Нажмите ОК, если Вы выражаете свое согласие на обработку Ваших персональных данных в соответствии с Согласием на обработку персональных данных и Политикой конфиденциальности. Вы можете запретить обработку cookies через браузер.
ОК

Как сделать игру в Скретч с говорящим котом: три способа

Посмотрите на любого персонажа Скретч. Он может быть красиво нарисован и уметь двигаться. Но если герой никак не реагирует на действия — нажатия, клики, касания — он остается просто картинкой. Живым персонажа делают не костюмы, а отклик и возможность взаимодействовать.
Сегодня мы расскажем, как сделать игру в Скретч с говорящим персонажем: научим кота отзываться на клик. Причем сделаем это тремя разными способами.

Вот что нас ждет:
  • Первый способ. Кот увеличивается, меняет костюм и мяукает: издает случайный звук из заданных. Мы познакомимся с переменными, случайными числами и условием «если».
  • Второй способ. Кот перестал мяукать и начинает говорить. Вместо звуков — реплики в облачках: приветствие, шутка, загадка. Осваиваем речь и учим персонажа общаться текстом.
  • Третий способ. Кот превращается в робота. Мы берем обычные звуки и на лету меняем их высоту, делая голос механическим. Учимся работать со звуковыми эффектами.

Также будет полезен видео-урок:
И наши каналы — здесь много бесплатных гайдов не только по Scratch:
Хотите научиться программировать не только котов, но и игры, мультфильмы, квесты? Приходите на наш онлайн-курс по Scratch, мы учим с нуля и поможем полюбить код.
Подробнее об онлайн-курсе «Программирование в Scratch для детей» здесь.

Попробуйте бесплатно!

Оставьте свой номер: мы позвоним, чтобы записать на бесплатное занятие и ответить на все ваши вопросы.

Программирование в игре Скретч случайных звуков и анимации: учим кота мяукать по-разному

Приступим к созданию игры в Скретч, и сначала наведем порядок на сцене. В новом проекте всегда живет рыжий кот. Можно оставить его или создать своего персонажа. Щелкаем по корзине рядом со спрайтом кота — он исчезает. Нажимаем на иконку с кисточкой в нижнем правом углу («Выбрать спрайт») и ищем того, кто станет героем проекта. Можно взять любого: пса, лягушку, робота, инопланетянина. Код, который мы напишем, подойдет любому спрайту. Главное, чтобы у персонажа было минимум два костюма — тогда анимация будет заметнее.

Фон лучше сменить. Заходим во вкладку «Выбрать фон», выбираем сцену, где герою будет комфортно. Можно взять комнату, сцену, космос или оставить белый фон — это не влияет на код, но создает настроение.

Сцена готова, персонаж на месте, ждет действий. Пора научить его отзываться.


Идея нашей игры Скретч

Мы хотим, чтобы при нажатии на кота происходило три вещи одновременно:

  • Анимация. Кот «оживает» — увеличивается в размере и меняет костюм, появляется ощущение, что он действительно реагирует на касание.
  • Издает случайный звук — чтобы нам не надоедало нажимать.
  • Возврат. После того как кот сказал «мяу» и подрос, нужно вернуть его в обычное состояние. Иначе после очередного нажатия он закроет собой всю сцену.

Переменная и случайные числа

Что такое переменная? Представьте коробку. Вы можете положить в нее что угодно: яблоко, игрушку, записку. Потом открыть коробку, достать содержимое, заменить его на другое. Переменная — это такая же коробка, только хранит не предметы, а числа или текст.

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

  1. Создаем переменную Переходим во вкладку «Переменные» (оранжевый круг). Нажимаем «Создать переменную». Заполняем поле имени (например, «звук»). Оставляем галочку «Для всех спрайтов» — это значит, что переменная будет доступна всему проекту. Жмем «ОК».
  2. На рабочем поле появился новый блок: «установить звук в 0». Это и есть наша коробка. Пока внутри ноль.
  3. Кот будет мяукать одинаково, если переменная не меняется. Нужно, чтобы номер выбирался рандомно.
  4. Во вкладке «Операторы» (зеленая) есть блок «выдать случайное число от 1 до 10». Это генератор случайностей. Каждый раз, когда программа доходит до него, она выдает новое число в заданном диапазоне.
  5. Собираем конструкцию:
установить [звук v] в (выдать случайное число от 1 до 5)

Переводим на человеческий: «Положи в коробку под названием "звук" случайное число от 1 до 5». Это если мы собираемся подобрать пять. Если десять, ставьте диапазон до десяти. Количество звуков должно совпадать с максимальным числом в диапазоне. Иначе программа может попросить сыграть звук под номером 6, а его нет — и кот промолчит.

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

  • Переменная — это коробка для данных.
  • Случайное число — способ сделать поведение персонажа непредсказуемым.
  • Диапазон случайных чисел должен соответствовать количеству заготовленных вариантов.
Скидка 10% для новых клиентов при записи в день обращения*
Отправьте заявку, и мы свяжемся с вами для консультации
* Скидка действует по промокоду на покупку первого абонемента от 12 занятий и более в день обращения. Новым считается клиент, прежде ни разу не приобретавший абонемент в школе.

Создаем звуки в игре Скретч

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

Например:
  • Если в переменной лежит единица — сыграй звук «мяу1».
  • Если двойка — сыграй звук «мяу2».
  • Если тройка — «мяу3».

В Scratch это выглядит как цепочка:
если <(звук) = 1> , то
  • играть звук [Meow1 v] до конца
если <(звук) = 2> , то
  • играть звук [Meow2 v] до конца

И так пять раз. Каждое «если» проверяет свое условие, но выполнится только то, у которого условие окажется истинным.

Важный нюанс. Блоки «если — то» не связаны друг с другом. Это не «если — то — иначе», а пять отдельных проверок.

Создаем в игре Скретч анимацию

Настоящая анимация начинается там, где меняется внешность спрайта.

  1. Во вкладке «Внешность» есть синий блок «изменить размер на 10». Каждый раз, когда программа доходит до него, спрайт становится больше на 10 процентов от исходного размера. Если нажать на кота пять раз подряд, он вырастет до 150% и займет половину экрана.
  2. Нужно, чтобы спрайт увеличивался ровно на один шаг за клик. Добавляем этот блок внутрь кода — после начала, до проверки условий.
  3. У большинства спрайтов в Scratch есть минимум два костюма. У кота их два: с открытым ртом и с закрытым. Если быстро переключать их, создается иллюзия, что персонаж говорит. Блок «следующий костюм» переключает спрайт на следующий костюм по порядку, а когда доходит до последнего — возвращается к первому. Добавляем его рядом с изменением размера.
  4. Возврат к исходному размеру. Для этого используем блок «установить размер в 100 %». Но куда его поставить? Если поставить сразу после увеличения, кот будет расти и тут же уменьшаться — мы ничего не заметим. Значит, уменьшать нужно после того, как звук сыграл и костюм сменился.

Правильная последовательность:
  1. Нажатие — кот увеличился и сменил костюм.
  2. Выбрал случайный звук и сыграл его.
  3. Вернулся к исходному размеру.

Так зритель увидит и рост, и возврат. Анимация становится завершенной.

Проверяем, правильно ли мы сделали игру в Скретч


Собираем код вместе. Сверху — событие «когда спрайт нажат» (вкладка «События»).

Дальше по порядку:
когда спрайт нажат
изменить размер на 10
следующий костюм
установить [звук v] в (выдать случайное число от 1 до 5)
если <(звук) = 1> , то
  • играть звук [Meow1 v] до конца
если <(звук) = 2> , то
  • играть звук [Meow2 v] до конца
если <(звук) = 3> , то
  • играть звук [Meow3 v] до конца
если <(звук) = 4> , то
  • играть звук [Meow4 v] до конца
если <(звук) = 5> , то
  • играть звук [Meow5 v] до конца
установить размер в 100 %

Нажимаем на зеленый флаг — ничего не происходит, ведь программа запускается только по клику на спрайт. Щелкаем по спрайту. Он увеличивается, меняет позу, мяукает и возвращается в обычный размер. Нажимаем еще — проигрывается другой звук! Работает!

Чему мы научились

Мы не просто сделали игру в Скретч с говорящим персонажем, мы освоили три инструмента:

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

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

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

4. Простая анимация. Изменение размера и смена костюмов — простые, но эффективные способы оживить персонажа.

Нам понадобилось всего четыре инструмента, а мы уже сделали игру в Скретч. Ее можно усложнить, например, создать кота-обжору: нажимаешь на еду — он растет. Или лотерею: нажал на барабан — случайное число выдает приз.

Создаем игру в Скретч с живыми диалогами: учим героя говорить фразами

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

Программируем блок «сказать ... секунд»

Во вкладке «Внешность» (фиолетовая группа) есть два похожих блока: «сказать ...» и «сказать ... секунд». Первый показывает текст и держит его на экране, пока не скажешь что-то другое. Второй — показывает ровно столько секунд, сколько вы укажете, а потом убирает облачко.

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

Фразы могут быть любыми, например:
  • «Привет, как дела?»
  • «Не нажимай на меня так часто!»
  • «Сегодня отличный день, чтобы создать игру в Скретч!»
  • «Я умею считать до 10, но ленюсь».
  • «А ты знаешь, что кошки видят в темноте?»

Важно, чтобы фразы были короткими. Длинная фраза растянется на пол-экрана и перекроет действие. От двух до семи слов — идеально.

Программируем блоки речи в игре Скретч

Берем за основу код из первого способа. Это наш фундамент — событие «когда спрайт нажат», создание переменной со случайным числом, цепочка условий «если — то» и анимация с размером и костюмами. Оставляем все без изменений, меняем только содержимое условий.

  1. Находим в каждой ветке «если» блок «играть звук ... до конца» и удаляем его. Щелкаем по нему правой кнопкой — «удалить», либо просто перетаскиваем в сторону и отпускаем.
  2. На его место вставляем «сказать ... 2 секунд» из вкладки «Внешность».
  3. В белое окошко вписываем фразу. Каждое условие — своя фраза. Для первого условия — одну, для второго — другую.

Пример для двух фраз:
если <(звук) = 1> , то
  • сказать [Привет!] 2 секунд
если <(звук) = 2> , то
  • сказать [Как дела?] 2 секунд

Изменение размера, смену костюма, возврат к 100% — оставляем как есть. Код готов.

Увеличиваем количество фраз

Чем больше фраз придумать, тем интереснее нажимать на персонажа. Каждый клик станет сюрпризом. Одна фраза смешная, другая философская, третья — загадка. Это создает эффект живого собеседника.

Как сделать больше фраз в игре Скретч:
  1. Меняем диапазон случайных чисел. Было «от 1 до 5» — становится «от 1 до 10».
  2. Добавляем еще пять «если — то» снизу, для чисел 6, 7, 8, 9 и 10.
  3. Вписываем новые фразы.

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

Что мы освоили

  • Речевые блоки. «Сказать» и «сказать ... секунд» — главные инструменты для программирования реплик в играх Scratch. Теперь герой умеет общаться не только звуками, но и словами. Это открывает огромный простор для создания квестов, викторин, обучающих программ и просто развлекательных открыток.
  • Текст как интерфейс. С помощью реплик можно объяснять игроку правила, подсказывать решения, хвалить за успехи или подшучивать над неудачами. Спрайт становится не просто украшением, а полноценным помощником.

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

Создаем эффект робота в игре Скретч: превращаем обычный голос в механический

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

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

Сброс звуковых эффектов

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

Поэтому перед началом программы нужно поставить блок «убрать звуковые эффекты». Он находится во вкладке «Звук» (фиолетово-розовая) и выглядит как компактная команда без настроек.

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

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

Программируем эффект «высота тона» в игре Скретч

В этой же вкладке есть блок «установить эффект высоты тона в ...». Это регулятор голоса. Число в белом окошке отвечает за то, насколько высоко или низко он будет звучать.

  • 0 — обычный голос, без изменений.
  • 50 — голос становится чуть выше, тоньше. Похоже на мышь или маленького зверька.
  • 100 — классический робот. Узнаваемый механический пищащий тембр, который используют в фильмах про будущее.
  • 150–200 — писклявый дроид, почти комар. Чем выше число, тем смешнее и неестественнее голос.
  • Можно ставить и отрицательные числа. -50 — голос низкий, тяжелый, как у злодея или великана.

Для робота выберем 100. Этого достаточно, чтобы голос изменился кардинально, но остался разборчивым.

Важно: «установить» задает точное значение. Если вы напишете 100, высота тона станет ровно 100, независимо от того, что было раньше. Это удобно — вы всегда точно знаете, как зазвучит персонаж.

Есть еще «изменить высоту тона на ...». Он добавляет эффект поверх существующего. Например, было 50, добавили 30 — стало 80. Но для нашей задачи «установить» надежнее.

Собираем код

Теперь соединим все вместе. Берем за основу код из первого способа или из второго. Принципиальной разницы нет — эффект робота работает и с мяуканьем из библиотеки, и с записанным голосом.

  1. Вставляем два новых блока в начало программы, после события «когда спрайт нажат», но до всех остальных команд.
  2. Первый — «убрать звуковые эффекты». Он гарантирует, что внутри спрайта не осталось старых настроек. Если до этого вы экспериментировали с высотой тона, панорамой или скоростью — все сбросится к настройкам по умолчанию.
  3. Второй — «установить эффект высоты тона в 100». Это сердце робота. Число 100 дает классический механический голос, узнаваемый и понятный.
  4. Дальше идет весь остальной код без изменений. Переменная со случайным числом, цепочка условий «если — то», анимация размера и костюмов, возврат к исходному размеру.

Итоговая структура программы:
когда спрайт нажат
убрать звуковые эффекты
установить эффект [высота тона v] в (100)
изменить размер на 10
следующий костюм
установить [звук v] в (выдать случайное число от 1 до 5)
если <(звук) = 1> , то
  • играть звук [Meow1 v] до конца
... (и так далее для всех)
установить размер в 100 %

Код готов. Мы создали игру Скретч за 15 минут — обычный кот превратился в кибер-кота и может разговаривать с нами.

Проверка

Нажимаем на зеленый флаг, щелкаем по спрайту. Кот увеличивается, меняет костюм и издает звук, не похожий на мяуканье. Он звучит как робот. Если вы использовали первый способ (библиотечные звуки), каждое «мяу» теперь звучит электронно. Если выбрали второй способ с фразами, кот говорит текст, но голосом дроида. Эффект накладывается на любой звук независимо от его содержания.

Проведем эксперимент. Останавливаем программу и попробуем другие эффекты в выпадающем списке:

  • «Панорама» — голос будет звучать только в левом или правом ухе. Поставьте 100 — он уйдет вправо, –100 — влево. Создает эффект движения.
  • «Скорость» — чем выше число, тем быстрее воспроизводится звук. При отрицательных значениях — замедляется, превращаясь в угрожающий рык.
  • «Громкость» — регулирует силу звука. 200 — очень громко, 0 — тишина.
  • «Искажение» — добавляет хрип, треск, эффект старой радиопередачи. 50 — легкий шум, 100 — сильные помехи.

Что мы освоили в этой части урока

Звуковые фильтры и их программирование в играх Скретч — это мощный инструмент трансформации. Мы не меняли аудиофайлы, не записывали новые дорожки. Мы просто добавили дополнительные блоки, и библиотечное «мяу» превратилось в голос машины. Это поможет в создании уникальных персонажей и реализации самых разных идей для игр в Скретч без сложной подготовки.

Теперь мы можем делать:
  • Инопланетян. Высокая высота тона + легкое искажение = пришелец с далекой звезды.
  • Дронов и роботов. Высота 100–120 + панорама для движения.
  • Монстров. Отрицательная высота + замедление скорости.
  • Киборгов. Смесь человеческого голоса и механических обертонов.
  • Призраков. Реверберация (есть в расширениях) + низкая громкость.

Речь — такая же часть персонажа, как костюмы и анимация. Управляя ею, вы управляете настроением, характером и даже сюжетом.

Заключение

Интереснее всего — экспериментировать! Вот несколько идей для игр в Скретч:

  • Возьмите код из второго способа — добавьте в начало «убрать звуковые эффекты» и «установить эффект высоты тона в 100». Запустите. Кот произносит «Привет!» голосом робота. Теперь это кибер-помощник.
  • Соедините все три способа вместе. Оставьте анимацию (рост и смена костюма), добавьте случайный выбор из десяти фраз и наложите эффект робота с небольшим искажением. Получится персонаж, который каждый раз говорит разный текст, двигается и звучит как механизм. Этого кота можно показывать друзьям — они не поверят, что вы написали игру Скретч за 15 минут.
  • Запишите свой голос. Скажите в микрофон «Мяу», «Где моя еда?», «Иди сюда» — что угодно. Загрузите запись в Scratch, поставьте ее вместо библиотечной и наложите эффект робота. Теперь ваш собственный голос звучит как голос дроида.
  • Добавьте «панораму». Пусть голос перемещается из левого динамика в правый, синхронизируйте с движениями спрайта — теперь он бегает по сцене и кричит на бегу.
  • Попробуйте отрицательную высоту. Сделайте из милого котенка злодея с голосом темного властелина.
  • Смените персонажа. Возьмите собаку, попугая, инопланетянина. Код останется тем же, а персонаж заговорит по-новому.
Понравилась статья?

Читайте также:

    Подборка курсов

    Заполните заявку
    на доступ
    кбесплатным
    курсам для детей
    После заполнения формы вы получите доступ в личный кабинет
    Понадобится помощь взрослого*