Выбранное случайное число используется для определения текста ответа, который помещается в текстовую область. Не забудьте установить для текстовой области свойство Dynamic Text и задать имя переменной, в данном случае, fortune.Панель Properties будет выглядеть, как показано на рис. 6.5.
Рисунок 6.5. В панели Properties задается динамическое свойство текста и его связь с переменной fortune
Ниже приведен полный код кнопки. После того как текст будет задан, ролик переходит к кадру 2 и запускает анимацию. Текстовая область не видна до кадра 23.
on (release) {
// Создаем список возможных ответов.
responses = new Array();
responses.push("Yes");
responses.push("No");
responses.push("Ask again later");
responses.push("It is certain");
responses.push("Doubtful");
responses.push("Probably");
responses.push("The answer is unclear");
responses.push("Of course not!");
responses.push("Certainly!");
responses.push("It looks positive");
responses.push("It looks negative");
// Узнаем число ответов.
n = responses.length;
// Выбираем случайный ответ.
a = Int(Math.random()*n);
// Помещаем ответ в текстовую область.
fortune = responses[r];
// Запускаем дальнейшую анимацию.
gotoAndPlay(2);
}
...
Примечание
Для перемещения по flash-ролику будут использоваться две команды: gotoAndPlay и gotoAndStop. Разница между ними состоит в том, что вторая команда задает переход ролика или клипа к определенному кадру или метке, но не запускает выполнения какого-либо кода или воспроизведения какой-либо анимации. В отличие от нее команда gotoAndPlay задает выполнение кода и продолжение анимации. Если вы хотите запустить выполнение кода какого-либо кадра, но не желаете переходить к следующему после него, используйте команду gotoAndPlay и включите в кадр команду stop.
В конце анимации в центре хрустального шара появляется текст (рис. 6.6).
Рисунок 6.6. В конце анимации на несколько секунд появляется ответ, затем ролик вновь возвращается в начало
К сведению
В конце анимации вы можете поместить команду stop(), чтобы воспроизведение ролика не повторялось, а также другую кнопку, которая осуществит возврат ролика к кадру 1 в случае, если пользователь захочет задать еще один вопрос.
Другие возможности
Вы можете внести изменения в код списка ответов. Совсем необязательно придерживаться используемой в нашем примере модели «да/ нет/не знаю». Ваши вопросы и ответы могут касаться определенной темы, например, выиграет ли сегодня местная спортивная команда или какой будет погода.
Исходный файл: Jukebox.fla
Добавление звука в Web-страницу никогда не было простой задачей. Оно осуществляется при помощи либо малопонятных тэгов HTML, либо одного из множества встраиваемых модулей, ни один из которых не является стандартным. Работая во Flash, вы можете возложить на программу всю обработку звука.
Задача проекта
Создание музыкального автомата – наглядный способ продемонстрировать, как используется звук во Flash. Это обычный ролик, воспроизводящий несколько песен.
Интерфейс программы изображен на рис. 6.7. Такой музыкальный автомат может содержать до 10 различных песен. Песня воспроизводится после щелчка по ее названию в списке.
Рисунок 6.7. Виртуальный музыкальный автомат напоминает устройство, которое можно было встретить в 50-е годы в любой закусочной
Подход
Создание подобного родика, содержащего 10 различных кнопок, с 10 различными кодами, предназначенными для воспроизведения 10 различных песен, является интересной задачей. Ролик будет работать, однако его сложно создать и еще сложнее изменить.
Наиболее простым способом будет создать одну кнопку и использовать ее 10 раз, один раз для каждой песни. Каждая кнопка будет представлять собой клип, содержащий одну и ту же кнопку. Таким образом, в библиотеке ролика окажется всего один клип и одна кнопка. Этот клип будет помещен на рабочее поле 10 раз, все его копии будут идентичны.
Первое действие при запуске ролика – изменение текста каждой копии клипа. Это действие описывается при помощи следующего кода:
// Задаем названия песен.
this["1"].text = "Song Name 1";
this["2"].text = "Song Name 2";
this["3"].text = "Song Name 3";
this["4"].text = "Song Name 4";
this["5"].text = "Song Name 5";
this["6"].text = "Song Name 6";
this["7"].text = "Song Name 7";
this["8"].text = "Song Name 8";
this["9"].text = "Song Name 9";
this["10"].text = "Song Name 10";
Для того чтобы упростить задачу, клипам присвоены имена от "1" до «10». В результате выполнения вышеприведенного кода все копии клипа будут отображать разные названия песен. Поэтому несмотря на то, что в библиотеке содержится один клип, все его копии будут выглядеть по-разному.
Читать дальше
Конец ознакомительного отрывка
Купить книгу