PDA

Просмотр полной версии : Как сделать прелодер в подгружаемом ролике?


baikal-boy
31.07.2002, 12:46
Добрый день!
Спасибо всем, кто не оставил без внимания мой вопрос! :)
Озадачился я следующим:
1. есть главный ролик
2. в него в определенное место (допустим при нажатии на кнопку) подгружается еще один ролик (swf-ка)
3. нужно, чтобы в этом место в основном ролике загружаемый ролик сначала показал свой прелоадер
4. делать прелоадер для обычной загрузки одного ролика умею :)
5. но при такой вложенной схеме никак не могу разобраться с тем, как расставить переменные и как вызывать командами эти ролики. Вроде бы все пишу логично - от корня (_root.) и т.п. но не работает. Пожалуйста, если есть - киньте исходник такой структуры или подскажите как прописать логику работы прелоадера в подгружаемом ролике...
Заранее всем очень благодарен! :)

Fanatik
31.07.2002, 17:57
Вот архив (только запускай после разархивации). если что не так, то значит я не правильно понял :)

baikal-boy
31.07.2002, 18:06
Спасибо за помощь!
Но, к сожалению, в этой структуре при нажатии кнопки в главном ролике происходит просто вызов второго свф в рабочую область главного ролика. Проблема в том, как сделать при подгрузке этого второго ролика, чтобы в нем отрабатывал прелоадер.

Fanatik
31.07.2002, 18:10
можно просто в открывающемся swf написать скрипт прелоадера... а есть способ проще, и надежней..............только я его не знаю :).

baikal-boy
31.07.2002, 18:16
Я пишу в открывающемся свф самый стандартный скрипт прелоадера, но он не работает. Как мне кажется, проблема в том, что при включении этого ролика внутрь другого, нужно указывать переменные и команды немного по-другому, отталкиваясь от того, что корневым роликом теперь стал главный. Пожалуйста, подскажите, как правильно настроить скрипт в двух таких роликах... :)


onClipEvent (enterFrame) {
percentloaded = _root.getBytesLoaded()/_root.getBytesTotal()*100;
dis = Math.round(percentloaded)+"%";
if (percentloaded == 100) {
with (_root) {
gotoAndStop("start");
}
}
}

semma
31.07.2002, 18:26
Все очень просто в подгружаемом ролике зделай такой же прелоадер как и в основном (ну можешь и не такой-же).
Просто ты его так сразу не увидишь в работе - придется проверять через интернет или скачать WebSpeed Simulator.

baikal-boy
31.07.2002, 18:28
Я его в подгружаемом и делаю. :)
А потом при просмотре работы захожу в дебаг и там ставлю эмуляцию канала 1,2 Кб :)
Дело не в скорости. Прелоадер вообще не отрабатывает. Проблема именно в том, что скрипт, помещаемый во вложенный мув, должен быть исправлен. Я пытаюсь скорректировать его, но не получается.

semma
31.07.2002, 18:34
так я тебе и говорю, что через дебаг ты его и не увидишь
Проверяй в интернете или WebSpeed Simulatorом локально.

baikal-boy
31.07.2002, 18:59
Урра! :)
Заработала! Прописал везде в именах переменных абсолютный путь и пошло! :)
Всем спасибо огромное! Удачи! :)