Второй ключевой кадр на слое «действия» будет хранить код музыкальных образцов. Для этого выделите второй кадр и нажмите на клавишу F7 (вставка пустого ключевого кадра). Чтобы во втором кадре наш рояль не исчез, на всех других слоях во втором кадре нажмите на клавишу F5 (продолжение ключевого кадра).

Во втором ключевом кадре добавите следующий код:

1
2
3
4
5
obr1 = new String();
obr1 = obr1+"a_1a_1a_1a_1g_1f_1f_1e_1d_1";
p1 = new String();
p1 = p1+"080808080408080404";
name_song1 = "Во поли береза...";
и т.д.

Напомню, каждый музыкальный образец состоит из двух частей: закодированная последовательность нот, и закодированная последовательность длительностей. Для задания первого «мелодического» кода в первой строке создается строковый объект obr1 (в окне «Действия кадра» - группа Object – Core – New String). В дальнейшем мы будем разбивать эту строку на отдельные элементы, коды каждой отдельной ноты. Для этого мы будем обращаться к методам строковых объектов и именно поэтому нам не достаточно просто создать текстовую переменную, с кодом. У текстовой переменной нет методов, а у строкового объекта – есть!

Во второй строке происходит конкатенация – соединение строк. К созданному строковому объекту добавляется код музыкального образца.

В третьей и четвертой строке аналогичным образом создается строковый объект для «временного» кода. В пятой строке создается текстовая переменная, хранящая название данного музыкального образца.

В данном ключевом кадре вы можете добавить столько музыкальных образцов, сколько пожелаете. Всюду код будет состоять из пяти строк: две строки кода для кодирования мелодии, две строки кода для кодирования длительностей и одна строка для названия. Помните, что все переменные и строковые объекты должны иметь однотипные имена: obrN, pN, name_songN.

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