![]() |
звук
Итак, надо сделать, чтобы пока мувик проигрывается, играет звук, соответственно если мувик не проигрывается, звука быть не должно.
Мне нужно это сделать кодом, а не засунуть звук в 1й кадр мувика с пометкой loop. А именно я хочу узнать, как : 1)определить, проигрывается ли в данный мометн этот звук. 2)остановить звук именно тогда, когда мувик перестанет проигрываться Инициализация и обращение к звуку : burning = new Sound(); burning.attachSound("burning"); burning.start(0, 10); burning.stop(); |
ап
^ || |
не понял... что значит пока мувик проигрывается??? как он перестаёт проигрываться стоп что ли где то стоит?
|
или стоп, или просто уничтожить (removeMovieClip)
|
ну может я примитивно скажу но...
мне в голову пришлё следующее запускаем он ентер фрейм... им проверяем тикущий кадр в нужном мувике если пред идущий не равем текущему значит играется если равен или неопределён не играется... вот тогда мы убиваем он ентер фрейм и вырубаем звук вот так вот я се вижу решение... может можно прощще ждёмс гуру) |
Цитата:
|
ну создай функцию запуска звука...
вней проверяй запускался он или нет... если не запускался запускай если запускался не запускай... всё... |
ну так в том вся и фишка что я не знаю как проверить запуск :)
burning.start(0, 10); - так запускать на 10 повторов burning.stop(); - так останавливать а проверить как ? |
Флажок пришпандорь. Или по тому-же энтерфрейму проверяй значение Sound.position.
|
я по ходу вопрос неверно понял)
|
убрать звук вовремя не получается, т.к. onEnterFrame вызывается при смене кадров, т.е. если смены кадров нет и надо выключать звук - обработчик просто не вызывается ...
Нашел вот такие вещи в хелпе : frame.soundLibraryItem = something (должно прицепить звук к фрейму) frame.soundLoop (должно зациклить звук) У меня не получилось это использовать, если не трудно напишите пример кода |
попробуй setInterval
|
Не понял тогда, что значит "пока мувик проигрывается"? Что таймирует его проигрывание?
|
Цитата:
как часто выражаются в англоязычных туториалах "there is a popular misconception"... :) почему-то многие думают, что если не происходит фактического перехода между кадрами в клипе, это останавливает смену кадров вообще в целом. смена кадров постоянна и непрерывна в ролике, что бы ни происходило. при большой нагрузке на флэш плеер, может упасть фпс, но он никогда не станет равным нулю. даже если в ролике нет клипов вообще и всего один кадр в руте - смена кадров происходит. смена кадров = перерисовка экрана, обновление отображения всего на экране. если бы этого не было, было бы невозможно делать программную анимацию (которая с фактическими переходами по кадрам клипов вообще никак не связана). |
предлагаю решение в стиле AS1.
на мой взгляд, оно здесь наиболее адекватно. если сильно захочется - перепиши всё это как класс AS2, расширяющий MovieClip. тогда сохранять ссылки на исходные методы не придется, можно будет вызывать их через super. Код:
//Цитата:
Extending Flash>Objects>Frame object>... |
| Часовой пояс GMT +4, время: 00:45. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.