среда, 4 ноября 2009 г.

Звук во Flash


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


Оказывается это можно исправить. Создаем мувиклип (я сделала квадратик, чтобы видно было), даем ему значимое имя в панели Свойства (у меня my_sound). Можно было создать пустой, прицепить к нему звук или на любой другой мувиклип, например, на фигурку человечка.
Добавляем в библиотеку звуковой файл и тоже даем ему имя прямо в библиотеке (у меня logoff_id). Кликнув по нему два раза мышью (или правой кнопкой мыши выбираем Свойства). В открывшемся окне Sound Properties (Свойства звука) в строке Linkage устанавливаем галочку напротив Export for ActionScript, тем самым привязываем звук к скрипту, как показано на рисунке.То есть звук не вытаскиваем на сцену, а программно прицепляем его к мувиклипу.
Photobucket
Добавляем слой для скрипта и вставляем следующий код:
stop();
var my_sound:Sound = new Sound(); // Создаем новый объект Sound - звук
my_sound.attachSound("logoff_id"); // Присоединяем звук logoff_id к объекту my_sound
my_sound.start(); // Начало воспроизведения звука
Теперь в кадрах (сценах), куда есть переходы с кадра (сцены) со звуком в слое со скриптом, добавляем код, останавливающий звук.
stop();
my_sound.stop();
Звук останавливается, и снова воспроизводится, когда это нужно.

Жмем "Назад", не дожидаясь окончания музыки. Звук отключился!

0 коммент.:

Отправить комментарий