проблема: музыка начинает играть в каждом кадре
привет!
Столкнулся с проблемой, к анимации добавил кнопку, и в при нажатии на кнопку сделал, так что бы через onEnterFrame и if у меня отслеживалось, что сначала, прозрачность кнопки и фона падает до нуля, а потом начинает проигрываться анимация. и когда потребовалось туда вставить звук, то вышло что функция, которая через Sound берет из библиотеки музыкальный трек и воспроизводит, вызывается в каждом кадре, и выходит такая какофония. я подозреваю, что надо бы сделать как то через переменную, которая бы была меткой "что пора врубить музыку", и отслеживать эту переменную чем то(слушателем?), и в случае чего, вызывало бы мою музыкальную функцию. подскажите пожалуйста как грамотно это сделать? или скажите, возможно ли управлять звуком брошенным на таймлайн? ведь когда в опциях того слоя(или кадров), я ставлю начальное положение stop, то все молчит, а как запустить через код, я не знаю. Добавлено через 58 минут я только что, придумал хитрость, к анимации добавил слой, где первый кадр - пустой, и звук не воспроизводиться сразу(мувик на сцене, с _visible = 0 и .stop()), и теперь нажав на кнопку все вроде бы хорошо(убрал функцию воспроизводящий и импортирующий звук, и музыка не множиться). но интересно на будущие узнать как более правильно решать такие задачи, кодом? как? |
Кодом - да. Читайте класс Sound. - attachSound()< Start и Stop.
Дождаться пока звук доиграет и не запускать в это время новый - onSoundComplete Класс простенький. Только имейте ввиду что громкость всех звуков, лежащих в ОДНОМ клипе, к примеру на _root - будет одинаковая. |
тоесть если в энтерфрейме я вызову что то подобное, звук не будет множиться?
mySound.onSoundComplete = function() { this.start(); }; |
нет. это СОБЫТИЕ. Оно НАСТУПАЕТ само по себе, когда музыка проигралась.
Соотв. функцию переключения или запуска не надо запускать самому. Никаких доп. телодвижений делать не надо. |
ээ... мне в моем случае - зацикливать ее не надо. мне ее надо спустя какие то эффекты, запустить анимацию, и музыку(а это файл, с нарезкой треков, которые подобранны под анимацию и синхронизированны с ней).
с классом sound - проблемм не возникает, управление им хорошо гуглица и находиться многое на этом форуме. Код AS1/AS2:
может быть вы знаете и мне подскажите, а то я бывает сталкиваюсь с таким, и придумываю что то велосипедное, а может люди по другому и проще выходят из этой ситуации? |
Вам надо определить - проигрывается ли в наастоящий момент данный звук.
1. Заведите переменную, которая выставляется в TRUE при первом запуске звука и в FALSE по onSoundComplete и при инициализации. Соотв Код AS1/AS2:
Код AS1/AS2:
|
ухты! спасибо, большое, буду разбираться.
|
Часовой пояс GMT +4, время: 22:21. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2024, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.