![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 27
|
Доброго времени суток!
Искал решения конкретно под свою проблему - не нашел. А проблема заключается в следующем: есть ряд кнопок(мувиклипы) - пунктов мею, которые при наведении onRollOver производятся в одном напрвлении, при onRollOut - обратно. Реализвано это благодаря обработчику onEnterFrame Все работает. Но есть одно "но". Как сделать однократное воспроизведение звука при наведении? Т.е. как обойти onEnterFrame, ведь из-за него звук воспроизводится каждую секунду наведения? Спасибо. |
|
|||||
|
Регистрация: Aug 2008
Сообщений: 27
|
Насколько я Вас понял:
Но ведь это абсолютно не меняет дело... Опять ежетактное проигрывание. |
|
|||||
|
Регистрация: Sep 2005
Сообщений: 950
|
а вот так н еподойдет?
|
|
|||||
|
Регистрация: Aug 2008
Сообщений: 27
|
Нет. потому что на onRollOver и onRollOut прописаны другие ф-ии (см. выше)
|
|
|||||
|
Регистрация: Sep 2005
Сообщений: 950
|
а что мешает сделать так
|
|
|||||
|
Регистрация: Aug 2008
Сообщений: 27
|
Спасибо огромное! Вам - большой плюс в карму!))) Все работает.
Интересно, когда я уже исчерпаю свою плосколобость? Тему можно закрывать. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 81
|
У меня такой вопрос (очень схожий)
Я воспользовался вашим кодом var muz:Sound = new Sound(); switch1.loadSound("some.mp3", false); btn.onRollOver = function () { switch1.start(); mouse_over_info = true; }; btn.onRollOut = function () { switch1.stop(); mouse_over_info = false; }; Вот тут обсуждалось нечто схожее http://www.flasher.ru/forum/showthread.php?t=136370 но совместить у меня не получается ибо мои познания в AS слабоваты. Прошу помощи, заранее спасибо ) Последний раз редактировалось studmar; 24.04.2010 в 04:03. |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 81
|
Покапался по иностранным сайтам и в итоге "слепил" из того, что уже было конструкцию (скорее всего неправильную, ибо я не программист, а дизайнер), но рабочую.
Источник "второго" куска кода здесь var muz:Sound = new Sound(); muz.loadSound("test2.mp3", false); //подгружаем mp3 из "внешнего" источника btn.onRollOver = function () { //для movieclip с именем btn при наведении мышки muz.start(); //воспроизводим музон muz.setVolume(100); //устанавливаем громкость, это по желанию }; btn.onRollOut = fadeOutSound; // вот тут самое такое, как я понимаю при отводе мышки вызывается функция, которая сначала уменьшает громкость а потом выключает музон function fadeOutSound():Void { if (id) { clearInterval(id); } var volume = muz.getVolume(); id = setInterval(fadeOut, 10); function fadeOut():Void { muz.setVolume(volume--); if (volume<=0) { clearInterval(id); muz.stop(); } } } Так же можно заморочиться и сделать еще fade in для звук test2.rar |
|
|||||
|
Модрон-ветеринар
|
Цитата:
Для этого перед остановкой можно запомнить позицию (Sound.position property). И запускать уже с нужной позиции. Только следует учесть, что position берется в миллисекундах, а офсет в start() выставляется в секундах, так что округляйте. Последний раз редактировалось mooncar; 24.04.2010 в 09:59. |
![]() |
![]() |
Часовой пояс GMT +4, время: 14:26. |
|
|
« Предыдущая тема | Следующая тема » |
| Теги |
| onEnterFrame , onRollOver , звук |
|
|