![]() |
Запуск двух .swf файлов одновременно!
Нужно что б на сайте два мувика начинали играть одновременно.
Но есть одна проблемка один мувик несколько килобайт, а второй больше 300. Получаеться, что маленький загрузиться и начнет проигрывание. Выходит надо что б он стоял на стопе и узнавал когда загрузиться другой мувик, и как только другой начнет свой первый кадр, то он начнет и свое проигрывание. Вроде все просто, но как это написать в AS не знаю. Help... |
намек: LocalConnection
|
ок, как законектить один с другим понял. сенкс. тепер как сделать чтоб он начал играть когда тот загрузиться?
|
Я бы реализовал с помощью external interface.
Один загружается -> через js постоянно узнаёт загрузился ли второй -> как только загрузился стартует и через js говорит второму "GO!". И все дела... :) Линк ниже \|/ FLASHIMP - Смотри здесь:) |
я конечно с ява дружу но как из "определения позиции мыши на странице джава скриптом и возврата во флэш." сделать - "Один загружается -> через js постоянно узнаёт загрузился ли второй -> как только загрузился стартует и через js говорит второму "GO!"" даже не представляю...
|
Цитата:
Или: флешка, загрузившись, подает сигнал: "готово" и ждет ответа на другой волне. Если ответа нет, ждет дальше. Если в ответ "поехали", то поехали. |
Что мешает проверять onStatus у LocalConnection?
|
а с кого мне устанавливать конект? например с того который первый загрузиться. тогда он делает конект и проверяет загрузилься полностью или нет. и потом начнет проигрываться. я только не пойму, что написать в тот файл который будет грузиться и который мы будем проверять...
вот все что нашел. для проверки статуса: Код:
sendingLC = new LocalConnection();Код:
var incoming_lc:LocalConnection = new LocalConnection();Код:
var outgoing_lc:LocalConnection = new LocalConnection(); просто у меня и получатель и посылатель один... походу нужно узнать началься ли 1 кадр в боьшем мувике и если да то больший мувик должен сказать меншему что б тот тоже начал первый кадр....запутано... нашел что надо...изучаю - http://www.flashgroup.net/forum/arch...hp?t-3178.html чет не выходить. взял вот это Код:
stop();потом этот код вставил во второй мувик, который дольше грузиться Код:
stop(); |
Izoniz, достаточно нажать кнопку http://www.flasher.ru/forum/images/r...ttons/edit.gif в последнем сообщении и отредактировать его, а не создавать новые.
|
Простыню кода не читал, но проверка очень простая — если error, шлем запрос ещё раз, скажем, через 100 мс. Как только error исчезнет — можно играть. Естесственно в ролике, который опрашиваем, должен быть коннект.
|
По-моему, оба ролика должны подавать сигналы друг другу. Не факт, что тот, который меньше весит, столько и будет весить после переделки, и не факт, что он первым загрузится. По мне каждый ролик по готовности подает сигнал на волне соседа. Если ответа не слышит, error, ждет команды от того. Два LocalConnection.
|
Одного достаточно. Один из роликов ждет получения команды, а второй проверяет статус. При успешном статусе и получении команды оба начинают играть. И неважно, какой из двух первым загрузился.
|
я спрашивал что не так делаю...а тут ответы хм...((
я ж там нашел пример точно такого действия как мне надо. только там пашет а у меня нифига... вот я и спрашиваю что не так? можент я мувику не тому присваиваю нейм или ваще не в тот .свф ставлю код? |
Цитата:
Мой вариант: загрузился, подал сигнал. Если нет, значит я первый, сижу и жду. Второй загрузился, подал сигнал. Если да, поехали оба. Если нет, значит я первый - см. выше. Нет периодически вызываемой функции. мувик1: Код:
var incoming_lc:LocalConnection = new LocalConnection();Код:
var incoming_lc:LocalConnection = new LocalConnection();Что называется, найдите в коде 3 отличия)) |
Бессмысленно определять, кто первый. Зачем?
|
Цитата:
И код отличается только двумя параметрами - идентификаторами LC. Можно эти параметры передавать через FlashVars. Проще. Если мувиков 3 и больше тут - можно и подумать. Хотя можно по кругу сигнал передавать.. |
Гм, не понимаю. Один LC стучится до другого, пока не достучится. Как достучался, и первый и второй пускают воспроизведение. Лично я бы сделал именно так. Достаточно односторонней связи.
|
А если так:
по умолчанию оба мувика на стопе. Создаём слушатель-каунтер, который проверяет равно ли кол-во загруженных клипов общему числу загружаемых. Грузим их через MovieClipLoader и на метода onLoadInit() передаём на слушателя я загрузился «я загрузился – увеличивай число загруженных». Как только число загруженных == числу загружаемых, пробегаемся по всем мувикам перебором и стартуем их. В этом случае можно запускать не два, а более. |
Лучше одностороння.
Если мува три и больше - лучше что бы маленький стучался к большим, пока не откроют. Когда команда в сборе (т.е. переменная = количеству мувов) то все едут играть в футбол. Или попробуйте на примере с пивом. Нужно что бы 11 человек собрались и выпили пиво. Один начинает и собирает всех. |
Задачи о множественной загрузке роликов не стояло.
|
Цитата:
Цитата:
|
Цитата:
или может я че ни так делаю...раскажите подробнее |
Вложений: 1
Ну еще stop() добавить стоит, а так только что проверил - у меня пашет.
Вот смотри. Открываешь один мувик, он стоит. Открываешь другой - оба поехали. Закрываешь любой - второй доиграет до 1 кадра и застрянет, пока первый снова не откроешь. Мувики постепенно "разбегаются", ну так немного покумекать.. gotoAndPlay вместо play поставить например.. Если это вообще нужно. |
ну стоп я добавлял. а открывание у меня на страничке происходить. снчала 1 грузиться и по идее должен ждать второй но почему-то не ждет. счас твой исходник поковыряю...
|
Поставь все это после загрузки. Видимо, флешка еще не загрузилась целиком, а коннект уже установлен.
|
просто мистика...сначала открыл твои свф файли все пошло. потом пробовал себе такое ничего не получилось. потом опять решил открыть твои свфки и уже они не хотят играть. откравыю одну-вторую стоят на 1 и все....
такой вопрос - lc_1 и lc_2 это названия файлов. оно по названию файлов берет или еще где-то прописано - lc_1 и lc_2? |
По скольку Izoniz проигнорировал мое замечание, то получает плюс.
|
Цитата:
а профтыкал...можно удалять. сорри |
Цитата:
Закройте все swf. Слушает волну только тот, кто первый подключился. |
Цитата:
закрыл все перезапустил комп врубаю 1 потом второй и ничего. стоят... |
Цитата:
У меня все работает. Пример работает. Копайте. |
все ок. спасибо!
|
| Часовой пояс GMT +4, время: 09:59. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.