![]() |
Динамический Load/UnLoad movies
Ситуация такая: есть главный мув, который загружает в себя другой мувик из папки. Типа так.
movnum = random(9); // возьмем к примеру 9 мувиков с именами sound0.swf-sound8.swf loadMovieNum("sound/sound"+movnum+".swf", 1); Я успешно использовал такой ход для загрузки разнообразных аудио-подложек для одного из своих проектов. Теперь нужно нечно большее и вот тут то я и встрял. В каждом загружаемом мувике есть звуковой фрагмент, который проигрывается один-два раза за весь мувик. На этом мувик исчерпан. Задача в следующем: сделать так, чтобы после "рандомной" загрузки мувика и после его воспроизведения (для каждого мувика время воспроизведения t=10 sec), он выгружался и опять же загружался рандомом следующий мувик. Картина получается такая: заходит пользователь на сайт, а там всякие шорохи, скрежет, шепот.. И желательно сделать Action для главного мувика, который бы останавливал этот процесс бесконечной загрузки. Мало ли что. %)) |
Ну setInterval.
Что не подходит? |
Если рассмотреть подробнее:
1й кадр. Определяем рандомом номер, формируем имя файла с мувиком. Загружаем его. Если файл загружен -> кадр2. 2й кадр. Проигрываем мувик. Ставим SetInterval = t, именно столько времени положено для проигрывания. Определяем функцию, например Go1st, которая бы выгружала мувик и переходила на первый кадр. Вызываем SetInterval(t,Go1st); Вроде так. Теперь как бы вставить условие, чтобы можно было бы вырубить весь этот процесс? |
Вложений: 1
В главном мувике пишем такой код.
Код:
snd = ["sound0.swf","sound1.swf","sound2.swf","sound3.swf","sound4.swf","sound5.swf","sound6.swf","sound7.swf","sound8.swf"]2-фрейм с вложенным звуком и кодом stop(); Лучше смотри пример. Все звуковые мувики сделай по этому образцу. |
Всё это хорошо?!
Но зачем грузить всё сразу? Зачем 9 мувиков для подгрузки? Если надо, чтоб пока один воспр., другой грузился, то может и 2,3 хватит? Смотрю в полглаза, мож чего то и не увидел? Извиняюсь. ;) |
таже проблема,грузим толпу swfок, они должны играть поочереди, но время их проигрывания определить невозвожно ???
|
2 Штрек. Для начала, вполне бы хватило и 2-3 мувиков, ты прав. Вот только бы ты еще подсказал, каких именно? Они же РЭМДОМНО должны проигрываться. :) Это раз. А два, - у тебя сначала будут постоянно возникать паузы между звуками: - функция вызвана а мувика еще нет. Чё делать? А время идет, и через 10 секунд опять вызов функции. Хило будет. Проверено уже.
2__i Если swf(шки) не музыкальные, а нормальные, то проблем вообще никаких нет. В конце каждого мувика обнуляем переменную. В начале мувика приравниваем к true. В основном проверяем. Нет переменной, - грузим новый, есть переменная, - ждемс, когда закончится. Ну, а если это музыкальные мувики, - подумать надо. Я так, влет не готов ответить. |
2__i
Есть такое - "Sound.onSoundComplete". Flash проверяет, закончилась ли музыка. Если да, то можно вызывать следующую функцию. В подгружаемых музыкальных файлах пишем типа такого: Код:
mySound = new Sound();Вот и все. |
Теперь бы все это в одно свести. Я весь вечер долбился, что-то своего ничего не вышло. Если я вызываю _level1.play();, то stop(); находящийся в загруженном на _level1 мувике будет распознан и остановит play в нужном месте? А как вызвать _level1.play(); сразу же при переходе на нужный кадр?
А unloadMovie/unloadMovieNum() совсем нафиг не нужен? И он что, будет все swf сразу грузить? А если я не поленюсь и сделаю их 50 и более. Он не лопнет? %) Паузы между звуками, в смысле непрерывное вопроизведение всех мувов? Вообще-то паузы должны быть, желательно оговорить какое-то стандартное время t, за которое бы подгружался рандомом выбранный следующий мув. со звуком. |
Цитата:
Цитата:
Цитата:
Цитата:
Совет: приступая к чему-либо, сначала продумай, что ты хочешь, и как это будет выглядеть. Потом – можно ли это сделать. И только потом – КАК это сделать. Удачи. |
| Часовой пояс GMT +4, время: 05:58. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.