вторник, февраля 7

Э1-У1. Шаг 8. Лиловый ящик. Издаём звуки

Сегодня мы посмотрим, как можно украсить Scratch-историю звуком. Для примера возьмём русскую народную песню "Во кузнице":
Во ку... во кузнице,
Во ку... во кузнице,
Во кузнице молодые кузнецы,
Во кузнице молодые кузнецы.


И конечно, нам понадобятся кузнецы. Например, такие (изображение с сайта ковка.рф):

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

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

Нота соль у нас по длительности четвертная. Условимся четвертные играть 1 такт. Тогда восьмые буду длиться полтакта (или 0,5). Темп мы сможем увеличить отдельным фиолетовым кирпичиком. Для первой фразы "Во ку... во кузнице" получаем следующий скрипт:

Поскольку эта фраза повторяется, используем жёлтый кирпичик. Подберём соответствующий инструмент (47 струнные) и темп (140 тактов в минуту).

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

Можно импортировать в проект и любые другие аудиофайлы, имеющиеся у вас на компьютере. Только следите, чтобы это не слишком утяжелило ваш проект, иначе могут возникнуть сложности с его загрузкой на сайт (принимаются проекты до 5 Мбайт).
Осталось вставить этот звук в нужные места и дописать вторую часть куплета. Кроме того, я сделала ещё один костюм спрайту, чтобы кузнецы опускали молоток. Получилось вот что (старт по пробелу):
Еще об этом проекте

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

воскресенье, февраля 5

Э1-У1. Шаг 7. Голубой ящик. Используем датчики

Откройте голубой ящик сенсоров и внимательно посмотрите на команды. Что можно сказать по их форме? Правильно, эти блоки встраиваются в другие. Мы уже использовали сенсоры в проекте про вежливого слона:
Еще об этом проекте

Посмотрим, как работают другие команды-сенсоры. Для этого составим небольшие скрипты, вложив эти команды в другие. Например:

Нажимая на эти команды, мы увидим, что результатом будут являться слова Истина или Ложь. То есть, спрайт определяет, касается ли он края или какого-либо цвета. Нажав на цветной квадратик команды Касается цвета можно пипеткой выбрать нужный цвет из цветов сцены.

Скрэтч может определять координаты x и y мыши, расстояние до указателя мыли или от одного спрайта до другого. Для этого нужно собрать такие команды:

Две последние команды в этом ящике работают со специальными внешними датчиками, подключаемыми к компьютеру. Можно посмотреть пример здесь. Также эти команды можно использовать, подключив к компьютеру телефон Android через Wi-Fi (подробнее тут).

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

Скрипт попугая:

 Кот определяет и говорит количество шагов до Попугая, приближаясь к нему. Как только Кот нападает на Попугая, тот улетает.
Еще об этом проекте

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

пятница, февраля 3

Э1-У1. Шаг 6. Жёлтый ящик. Всё под контролем!

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

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

Мы умеем использовать жёлтые кирпичики для управления спрайтом (см. Шаг 3). Несколько раз мы использовали эти команды жёлтого цвета для того, чтобы организовать повторение действий. 
Сейчас я хотела бы обратить ваше внимание на кирпичики из этого ящика, которые всегда работают в паре. Это Передать и Когда я получу.
С помощью этих команд можно организовать взаимодействие объектов в вашем проекте. Посмотрим, как это происходит, на примере. В этом проекте Кот путешествует - он идёт через лес к озеру. Когда он проходит лес, меняется сцена - и Кот оказывается на озере. Старт по пробелу.
Если скачать проект, можно разобрать его "по кирпичикам". Посмотрим, из чего же он состоит.
В нём один спрайт (Кот), имеющий два костюма. Если щёлкнуть по сцене и перейти на вкладку Фоны, то можно увидеть следующее:

В этом проекте пока используются только фоны лес и озеро, но вы можете изменить его, чтобы Кот гулял по пляжу, пустыне, или где-то ещё.
Посмотрим на скрипт Кота:
Итак, Кот начинает своё движение из определённой точки с координатами (-230,-100) - синяя команда идти в: x, y. Далее у нас используется жёлтый кирпичик повторения для того, чтобы Кот шагал слева направо до края экрана.
Координата x всё время растёт, Кот меняет костюмы, т.е. переставляет лапы. Между шагами сделан небольшой перерыв - одна сотая часть секунды - чтобы Кот не бежал, а шёл. Попробуйте поменять значение в кирпичике Ждать и понаблюдать за движением нашего героя. После того, как координата x достигает значения 190 (Кот доходит до правого края экрана), выполнение этой части скрипта заканчивается. Далее происходит следующее:
Команда Передать служит сигналом для сцены. Щёлкнем по сцене и посмотрим, какие используются скрипты:
Первый скрипт устанавливает фон лес при начале программы, а второй скрипт реагирует на команду, которую передаёт Кот. Когда Кот передаёт слово озеро, фон сцены меняется на соответствующий.
После этого кот шагает вдоль озера также, как и по лесу, через команду повторения:
В конце использована жёлтая команда Остановить всё для прекращения всех действий.
Предлагаю поэкспериментировать над данным проектом, добавить команды для спрайта и сцены Передать и Когда я получу, чтобы прогулка Кота продолжилась.
О том, что получилось, напишите в комментариях.

среда, февраля 1

Э1-У1. Шаг 5. Зелёный ящик. Учимся считать.

Если присмотреться к командам из ящика Операторы, то можно заметить, что это кирпичики, которые не могут использоваться сами по себе. Они не соединяются с другими кирпичиками, а вкладываются в них. Это видно по их форме. Будем вкладывать зелёные кирпичики в  команду Сказать из фиолетового ящика. Продублируем её несколько раз, нажимая на неё правой кнопкой мыши и выбирая в меню Дублировать - она нам ещё пригодится. Кстати, операцию дублирования можно производить и с целыми блоками.

Попробуем поработать со знакомыми нам действиями сложения, вычитания, умножения и деления. Вложим в команду Сказать математические операции. Например, так:
Нажимая на команду, увидим, что она подсветится, а спрайт произнесёт ответ. Попробуйте составить другие математические выражения. Наподобие таких: (32+13)/(17-8). Здесь уже придётся вкладывать зелёные кирпичики друг в друга.

Скрэтч понимает отношения больше, меньше и равно. Он может сообщать вам об истинности или ложности этих отношений. Проверьте, как это работает, составив верное и неверное утверждение. Например:

Перемещаемся вниз по командам зелёного ящика. Из отношений больше, меньше и равно можно создавать логические выражения со словами НЕ, И и ИЛИ. Скрэтч также будет сообщать об истинности или ложности этих выражений. Рассмотрите примеры, приведённые ниже, составьте свои логические выражения и поразмышляйте над результатом. В каких случаях ответ ЛОЖЬ, а в каких ИСТИНА?

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

Ещё одна функция - вычисление количества символов в строке:
Ответьте на вопрос: считается ли пробел отдельным символом?

Устали? Поиграем! Посмотрите на следующий скрипт:
Здесь используется команда из ящика Сенсоры, о котором мы ещё будем говорить. При запуске скрипта нужно будет ввести с клавиатуры ваше имя. Спрайт будет приветствовать вас.

Ещё один кирпичик зелёного ящика - вычисление остатка от деления. Когда мы делим 27 на 5, то получаем 5 и в остатке 2. Проверьте результат:
Попрактикуйтесь в нахождении остатка от деления для других пар чисел.

Если вы учитесь в 7 классе, то знакомы с правилами округления. Проверьте, выполняются ли они в среде Скрэтч. Обратите внимание на то, что если скрипт использует дробные десятичные числа, то они записываются с точкой: Округлить 4.6.  В приведённом ниже примере зелёные кирпичики вложены друг в друга. Это позволяет вывести на сцену пояснительный текст и результат математической операции:

На уроках математики вы ещё столкнётесь с различными математическими функциями. Одна из них - квадратный корень. Используя Скрэтч, мы уже сейчас можем узнать, что это такое. Попробуйте посчитать квадратный корень от 49, 81, 36, 100.

В комментариях здесь напишите, каких успехов вы достигли, изучая команды из ящика Операторы.
Может быть, что-то осталось непонятным? Тогда задайте вопрос.