Как сделать звук в скретче

Обновлено: 05.07.2024

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

Скрипт работает одинаково как в PlayMode так и в EditMode, и позволяет:
1. Воспроизвести звук с необходимой задержкой и отследить начало воспроизведения.
2. Отследить окончание звука, в том числе каждый момент завершения зацикленного воспроизведения.
3. Отследить незапланированное окончание воспроизведения звука.
4. Использовать событие для отслеживания и изменения параметров в процессе воспроизведения.

Для воспроизведения звука используются статические методы:


Эти методы возвращают экземпляр класса SoundTrack, к которому в последствии можно прикрепить необходимые события. Первый метод создаёт на сцене GameObject, второй добавляет указанному GameObject компоненты SoundTrack и AudioSource.

Параметры volume и pitch не нуждаются, наверное, в представлении.

loopTime – можно использовать для задания времени в секундах, которое будет длиться цикл воспроизведения. При значении 0 звук проиграется только один раз, при значении float.PositiveInfinity звук будет проигрываться бесконечно.
delayTime – это задержка перед воспроизведением звука в секундах.

Примечание:
По прошествии loopTime, первый метод удалит созданный для звука GameObject, второй метод удалит только созданные для звука компоненты.

Итак, самый простой пример кода для воспроизведения звука в игре.


И для воспроизведения звука в редакторе.

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

Данный пример запускается сочетанием клавиш SHIFT+F1, и показывает как использовать события.


Для того чтобы пример работал, этот скрипт надо положить в папку Editor, а так же иметь в ресурсах проекта хотя бы один звуковой файл. Если нужен тест в запущенном проекте, то можно просто из функции TestSound перенести код в функцию Start, и если нужно, то сделать все свойства и метода нестатическими.


Это событие срабатывает непосредственно при начале воспроизведения звука.


Т.е. в случае, если delayTime > 0, оно сработает не при создании звука, а при старте воспроизведения.

Это событие может быть полезно в ряде случаев.


К примеру можно музыке и эффектам задать разные события, и одной переменной регулировать громкость всей музыки в игре, а другой всех эффектов. А потом добавить и эффектам и музыке ещё одно событие, в котором уже регулировать скорость их воспроизведения, если в игре есть эффект Slow Motion.
В данном примере звук должен в течении каждой секунды менять громкость.


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


Это событие сработает в 2-х случаях. Первый случай, это когда воспроизведение звука завершено, по истечении loopTime или при одноразовом воспроизведении. Второй случай, это никак не связанное с логикой скрипта удаление звука со сцены (например вручную удалив объект из иерархии сцены). Отличить один случай от другого можно с помощью параметра atEndOfSound, если он равен false, то это как раз второй случай.

Во втором случае мы уже не будем иметь доступ к GameObject'у и компонентам звука.

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

  • time_position — позиция воспроизведения аудиофайла, от 0 до длины файла;
  • life_time — время с начала воспроизведения звука;
  • playing_time — время затраченное на воспроизведения звука, не учитывает паузы;
  • loop_time — время, которое звук будет проигрываться;
  • delay_time — время задержки перед воспроизведением;
  • startTime — момент начала воспроизведения звука;
  • created_time — момент создания звука (startTime-delay_time).

Всё время расчитывается относительно Time.realtimeSinceStartup.

Здесь можно скачать сам скрипт и приведённый выше пример.

Если в примере не работает сочетание клавиш, можно найти пункт TestSound в меню.

Если Unity не находит звук в ресурсах, надо его просто выделить (посмотреть настройки аудиофайла).

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

Введение

лого

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

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

На сайте выложены Scratch offline editor 1.4 и 2.0 русские версии, которые можно скачать бесплатно. Вы сможете поупражняться программированию и создать свой первый творческий проект: мультфильм или мини игру.

Как установить программу?

Внимание!: для установки программы на компьютере должен быть установлен adobe air.

Как запустить Scratch на русском языке?

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

Возможности языка программирования

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

Конструктор на чипсете Arduino

Существует серия конструктора Lego, специально разработанная для создание роботов, которые будут управляться через телефон или планшет, программой написанной на языке Scratch для чипсета Arduino. Для детей это будет не только не заменимый опыт программирования, который пригодится в будущем, но и море удовольствия. Для этого нужно установить модификацию языка Скретч S4A на компьютер и на плату Arduino. Как это сделать:

Для пользователей windows должны быть установлены драйвера Arduino

Как создать игру в Scratch?

Спрайт на сцене

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

Анимация движения

Движение вправо

Движение влево

Выбираем фон

Добавляем новый спрайт

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

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

Анимация падения

Добавляем цикл

Остановка и запуск программы

Задаем стартовые координаты

Запомните: Действия каждой связки блоков происходят по очереди, сверху вниз. Если на очереди желтый блок цикла, сначала выполнятся все действия внутри него, в том количестве раз, которое предусмотрено циклом. Затем, действия идущие после блока цикла.

Создание переменных в Скретч

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

Используем переменные

Взаимодействие с другими объектами

Условия

Столкновение с краями сцены

Операторы

Завершение игры

В первом случае это позволит коту отбивать мяч не сразу, а с задержкой в 0.1 секунды. А во втором, мяч попав в стену, не будет менять направление множество раз в секунду, а поменяет его 1 раз. Потом у него будет 1 секунда чтобы вылететь из стены и уже после просчет цикла продолжиться. На этом создание нашей игры заканчивается. Попробуйте ее доработать, поэкспериментируйте с блоками, добавьте очки за каждый удар, добавьте условие проигрыша. Возможности Скретч если не безграничны, то достаточно обширны.

О Scratch 3.0

Дополнительные спрайты для Скретч

пак замок

Мы подобрали наборы спрайтов для Scratch 1.4, 2.0, 3.0. С их помощью вы сможете создать интересные игры и анимации. Экспериментируйте!
Набор спрайтов замок, поможет сделать мини игру про осаду замка, персонажи и стилистика похожи на майнкрафт:

космос

Набор картинок для игры про космос:

спрайты персонажей

Набор персонажей, с разными анимациями:

набор с животными

Спрайты с мордашками милых животных:

набор спрайтов пираты

Корабли и пираты:

спрайты для танков

Спрайты для игры танчики:

Готовые проекты

Видео уроки

В нашем руководстве мы рассказали лишь некоторые особенности Scratch offline editor, для более глубокого погружения, вы можете посмотреть эти видео уроки:

Еще один канал с обучением:

Скачиваем программу Scratch

К завершению статьи мы подготовили ссылки на скачивание бесплатной версии Scratch offline editor на русском языке. Здесь присутствуют версии для Mac OS и всех разновидностей Windows. Если вы хотите скачать программу через торрент, придется немного подождать, данный вид ссылок будет добавлен в самое ближайшее время. Программа не имеет ограничений для детей. Пользуйтесь, развивайтесь, впереди много творческих открытий!

Подходит для слабых компьютеров, хоть и имеет меньший функционал. Совместима с Windows XP.

На данный момент самая последняя версия программы. Подходит под Windows 7, Windows 8, Windows 10.

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

Что такое Scratch

Scratch (скретч) – это бесплатная оболочка, в которой вы можете создавать и запускать программы, насыщенные графикой и мультимедиа. Если говорить более формально, то Scratch – это не язык программирования в традиционном понимании, а визуальная среда программирования для создания событийно-ориентированных приложений. В этой среде мы можем не только создавать алгоритмы, но и рисовать, выбирать фон, записывать звуки. В этой же среде производится запуск “написанной” программы. При этом можно даже ничего не скачивать – скретч прекрасно работает на сайте.

Scratch 3 на русском для детей

Scratch появился на свет в 2007 году в стенах всемирно известного университета MIT (Массачусетский технологический институт), выпустившего сотни крупнейших инженеров и исследователей мирового уровня. Изначально среда задумывалась как инструмент помощи для начинающих студентов. Но продукт оказался очень удобным и проект со временем получил поддержку тысяч учеников и разработчиков по всему миру.

Сегодня наиболее популярными версиями являются вторая (уже устарела) и третья. Вы можете скачать Scratch 3 прямо на сайте авторов программы (ссылки вы найдете в конце статьи). В конце статьи мы также добавили раздел с историей возникновения Scratch.

Событийно-ориентированная среда блочного программирования

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

Блоки программы Scratch

В итоге вы строите из блоков нужную вам последовательность, не затрудняя себя в знании правил написания названий команд. Перетащили, положили, настроили, взяли следующую – и так далее. Как только вы запускаете программу, визуальная среда программирования Scratch анализирует собранный пазл и выполняет закодированные в картинках команды одну за одной. И ваша программа оживает.

Scratch 3. События и реакция на них

Скретч – это событийно ориентированная среда. Что это значит? Все просто – ваши блоки начинают выполняться тогда, когда возникают какие-то события. Вы нажали на кнопку клавиатуры или мышки – запустится блок команд, которые нужно сделать при нажатии. Картинка на экране дотронулась до края экрана или другой картинки – запустится другой блок команд. Все, что происходит на экране или в душе ваших персонажей, воспринимается как событие, и вы можете отреагировать на него. При этом все делается визуально – вы просто размещаете на экране специальные блоки с названием нужных событий и приклеиваете к ним нужные блоки с командами.

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

Scratch на уроках программирования для детей

У скретча есть еще несколько очень важных особенностей, которые являются его несомненными преимуществами. Именно поэтому в большинстве IT-школ занятия и уроки программирования для начинающих стартуют именно со Scratch. Разработчики среды создали огромное количество дополнительных методических материалов и ресурсов для педагогов. Найти их вы сможете как на официальном сайте, так и на многочисленных интернет-ресурсах.

Scratch для преподавателей кружков программирования

Возможности

  • Уже было отмечено, что Scratch – бесплатный для некоммерческого использования. Не нужно платить, не нужно искать взломанные версии, не нужно смотреть рекламу. Без рекламы, без денег – все для человека. Вы можете скачать бесплатную версию Scratch на русском c официального сайта, а можете работать онлайн даже без регистрации!
  • В среде программирования уже есть встроенные библиотеки, в которые добавлено огромное количество готовых картинок, фонов, фрагментов звука, из которых можно сразу создавать интересные программы. Все это тоже бесплатно и может быть использовано в вашей программе сразу после начала работы.
  • Если вы используете онлайн-версию, то после регистрации сможете быстро опубликовать вашу игру в общем каталоге программ. А еще можете бесплатно ознакомиться с другими программами, посмотреть, как они написаны, и взять это себе на заметку. Сегодня вокруг Scratch сформировано огромное сообщество энтузиастов – вы можете очень легко стать его частью.

Ограничения

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

Установка Scratch 3

Сайт Scratch

Если вы все-таки решили скачать и установить Scratch, то воспользуйтесь следующим алгоритмом:

Русификация Scratch

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

Scratch 3 на русском

Программирование в Scratch

Итак, будем надеяться, что вы установили себе программу или открыли ее в браузере. Перед вами должен быть отображен экран среды программирования Scratch. Цветовые решения могут немного отличаться, но в целом вы увидите примерно следующее.

Scratch 3 на русском для детей

Давайте разберемся с интерфейсом программы

Интерфейс среды программирования Скретч

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

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

Интерфейс Scratch 3.0

Вот вариант описания интерфейса для Scratch 2:

Интерфейс Scratch 2

Спрайты – персонажи

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

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

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

Спрайты и сцены Scratch

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

Сцены программы

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

Сцены программы в Scratch

Программы для начинающих на Scratch 3

Первый проект на Scratch. Приветствие

Откройте среду программирования. Вы уже знакомы с интерфейсом и без труда найдете главное окно с изображением кота. Кот – это спрайт. Вам надо щелкнуть по нему (сделать спрайт активным) и начать создавать код в окне рядом.

Все программы пишутся с помощью блоков, которые надо соединять друг с другом. Нужные блоки берутся в отдельном окне (у нас на картинке – слева) и переносятся в окно с программой. Вы можете присоединять блоки друг к другу – тогда они будут выполняться друг за другом, сверху вниз. А можете просто положить блок в любое удобное место. Для того, чтобы блок с командой выполнился, надо просто щелкнуть на него.

Блоки Внешний вид

Итак, давайте выполним простые действия:

Звуки в Scratch

Осталось только соединить оба блока вместе. Поднесите один к другому, они склеятся. В вашей программе Scratch теперь два блока. Если вы щелкните на любом из них, сначала запустится первый блок, потом второй. Программа выполнится, и вы сначала увидите надпись, а потом услышите звук. Поздравляем!

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

Запуск программы в Scratch с помощью событий

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

Старт программы в Scratch

Старт программы в Scratc

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

Другие события Scratch для запуска программы

Управление игрой в скретч

Теперь нажимайте на клавиши со стрелками и смотрите, как котик здоровается и прощается с вами.

Блоки движения

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

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

Будьте внимательны – спрайт может выйти за границу видимой зоны экрана. Тогда вам нужно будет перетащить его обратно с помощью мышки или указать новые координаты в окне свойств спрайта (внизу).

Вы можете изменить число шагов перемещения спрайта при выполнении одной команды. Не ставьте слишком большие числа – кот сбежит с экрана и вам придется его ловить.

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

История создания Scratch в MIT

Scratch впервые появился в стенах Массачусетского технологического института, MIT. Еще с 70-х годов команда математика и детского психолога Сеймура Паперта работала над языком, который позволял бы постигать азы программирования юным инженерам. Именно эта команда создала всемирно известный язык LOGO,прекрасно доживший и до нашего времени. Если вы не знаете это название, то наверняка встречали главного его персонажа – черепашку. Движением черепашки можно было управлять c помощью простых команд и операторов, получая первые навыки создания настоящих алгоритмов. Сегодня Logo используется в тысячах школ по всему миру.

Группа систем непрерывного обучения MIT продолжила разработку доктора Паперта и представила среду StarLogo. В ней была добавлена возможность программирования для Logo в виде наборов графических блоков. Блочное программирование позволило существенно снизить количество ошибок при вводе команд и повысить вовлеченность детей в процесс программирования.

Язык Scratch появился в MIT Media Lab как естественный следующий шаг реализации данной концепции. Команда Lifelong Kindergarten под руководством Митчела Резника занималась разработкой новых технологий и видов деятельности для вовлечения детей в инженерное творчество. Придуманная ими новая среда позволяла максимально сократить препятствия на пути освоения детьми основ программирования. Резник является также основателем проекта Computer Clubhouse, объединяющей сотни центров дополнительного образования по всему миру. Это помогло новому проекту сразу же получить международную поддержку.

Сегодня последней версией Scratch является Scratch 3. После длительного периода тестирования она стала доступна сообществу в январе 2019 года. Для скачивания по-прежнему доступна только версия 2. Зато скачать и установить у себя на компьютере среду для работы offline можно абсолютно бесплатно.

Сегодня Scratch – это более 40 млн пользователей, которые опубликовали более 40 млн. проектов. Каждый месяц сайт посещают миллионы человек и количество участников продолжает расти. Если вы уже захотели присоединиться к большой компании – добро пожаловать!

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