![]() |
Сложный прелоадер...
В общем проблема такая:::
Дано: Есть мувик, назовем его Main.swf, в него грузится еще один мувик, назовем его block.swf, размер которого может быть каким угодно, т.е. точного размера в байтах, кол-во фреймов я не знаю, грузится он в Target (пустой мувик, который лежит на _level0). Кроме того, грузится еще и random0.jpg файл, точный размер которого, я тоже не знаю, он меняется. Теперь примечание про первый грузящийся мувик block.swf: В него тоже грузятся и картинка random1.jpg и мувик block1.swf. И картинка и мувик тоже произвольного размера. Кроме того, грузятся еще и внешние переменные через GET запрос к PHP скрипту. Нужно: Сделать прелоадер, находящийся в Main.swf, который будет проверять на загрузку всего: и всех мувиков с *.jpg файлами и всех переменных. Все swf файлы и *.jpg грузятся с одного хоста, swf файлы могу редактировать из исходников, т.е. гружу свои файлы, а не подгружаю с других хостов (чтобы вы чего плохого не подумали :)) Все мувики гружу в Target, а не в _level. Если чего не понятно, то спрашивайте, я уточню. Интересно знать, возможно ли такое сделать? |
RTFM :cool:
myMovieClip.getBytesLoaded() myMovieClip.getBytesTotal() |
Замечательно... Начинаем разбираться...
Спрашиваем, сколько весит наш мувик (forblock1), в который мы грузим block1.swf, соответственно грузим туда swf кадром раньше, до того как спрашиваем. forblock1.getBytesTotal(); В ответ получим, ровно столько, сколько он весит, точнее размер без загруженого в него swf И как мне предложишь это использовать?! |
Ё :mad:
1. раздел исходники 2. если никак ненайти этот раздел http://flasher.ru/src/category_35_1/ 3. myMovieClip.getBytesLoaded() 4. далее по пунктам чЁ непонятно :) :p |
Ок, ниччЁ!
Ты объясни, как myMC.getBytesTotal; может узнать сколько он будет весить, когда в него мувик загрузиться, если так спросить, то он узнает только вес этого мувика, пустого, без того, который должен грузиться! Флаха предсказывать научилась?! Оччень рад... Нехер отсылать по сайту шастать, если уж научились что-то делать, научите и других... Вопросы за этим и задают, нахер мне надо, чтобы меня по исходникам и форумам шпуняли! Я уж и так посмотрел, все темы с прелоадерами, попробовал и не канает, в лом писать, дак не пиши... Сорри конечно, но меня этот настрой форума просто удивляет. |
myMovieClip.getBytesTotal() -
An integer indicating the total size, in bytes, of the specified MovieClip object. myMovieClip.getBytesLoaded() - An integer indicating the number of bytes loaded. Итак, что тебе именно непонятНО :( чего пожевать надо, поконкретней ПЛЗ и нечего плакатьсЯ ;) |
стиль общения - класс!
а ты lexass-a ногами набуцай из-за того что ты неврубаешься... ;) Будет знать как отвечать на фопросы форума!!!
|
Никак нельзя, я уже спрашивал... :(
trace(mc.getBytes....) дает размер пустого мувика, а не загружаемого. Из вариантов решения - делать загрузчик отдельным swf'ом (одним на всех). |
По вложенности от самого внутреннего к внешнему!
1 Проверяем, загрузился ли мув. 2 Отсылаем информацию "наверх" 3 Во внешнем к предыдущему мувику проверяем его загрузку И(!) все переменные, отвечающие за загрузку внутренних. 4 GoTo(2). |
lexass, а если хорошо попросить админов, они тебе подпись под картинкой поставят ? :) мм... например большими буквами "RTFM вашему дому ", или еще что-нибудь романтическое... :D
2mac'Jellyfish неправильная постановка вопроса. никогда не спрашивай "можно ли это сделать" :) :) ...потому как в конечном счете все равно окажется, что можно (что бы ты ни спрашивал), но то, "как это можно сделать" может навести на мысли о самоубийстве :p общий прелоадер не поможет. то есть он будет уверен, что внутрь контролируемых клипов ничего не грузится... тогда что, надо сделать коэффициенты загрузки всех частей... например, при начале загрузки, каждая из загружаемых частей создает для себя в руте элемент массива, в который по ентерфрейму пишет значение отношения гетБайтсЛоадед к гетБайтсТотал. в самом прелоадере тебе остается только по ентерфрейму проверять, чтобы сумма элементов (каждый из которых - отношение загруженного к общему) этого массива стала равна его длине... 2Aib так не получится следить сколько процентов загрузилось :) |
Nox Noctis, хорошо, попробую твой метод, правильно ты про "самоубийство" задвинул... :D
p.s. А с подгружаемым *.jpg, размер которого тоже меняется, это сканает? |
2 Max N Chubin_
Еще подробней - самому написать и mac'Jellyfish-у отдать! ;) 2Nox Noctis Цитата:
Вопрос дня: "Где кнопка ПОИСК" :D :D :D 2Aib Неусложняй простоЕ ;) |
Всё, вопрос снимается... 8)))))
Вырулил довесок на php, который отдает флахе значения размера подгружаемого, *.swf, *.jpg, да и чего только захочешь, а она уже считает, изумительно работает!!! Всем спасибо... |
:eek: :eek: :eek:
ОРЕЛ :D ;) ЗЫ Типа МЫ простых путей неищеМ |
ИМХО, так проще и получилось, да и размерчик свифки урезался, в моем случае, каждый байт на счету... 8(
|
с радостью наблюдаю за человеческойсмекалкой!
Я так и думал! Стоит только на lexass наорать и любой вопрос становиться ясен сам собой! :-)0
А с php скриптом это - СИЛЬНО! :-))))) Вообще говоря я тут сидел и ковыряясь зубочисткой в ухе думал... нахрена в главной флэшке ждать когда загрузяться все модули? Да еще и извращаться с загрузчиком... суй их в основную флэшку и грузи как обычно - в одном файле... а если уж делаешь модульную структуру, то сделай так чтобы все остальное хозяйство подгружалось либо в фоновом режиме (пока ты там всех завлекаешь красивой заставкой или скажем в основном модуле у тебя загружается титульная страница, а остальное хоз-во грузиться фоном, а пока грузиться человечек либо новости читает либо играется с навигацией...) Короче существует масса способов не заставлять пользователя ждать догрузки субмодулей. Кстати, однажды я для ускорения работы использовал упредительное чтение, т.е. пока грузилась, проигрывалась заставка я загружал все основные используемые на сайте картинки и клипы в невидимую область экрана. Они ведь кэшируются, и потом при обращении в нужном месте они мгновенно подгружались... Ой, блин... звук пропал... раз раз... все, пошел ухо ремонтировать... |
Re: с радостью наблюдаю за человеческойсмекалкой!
Цитата:
ну хотяб через JS :cool: 2mac'Jellyfish A PHP еще небось из базы данных размер берет??? а в случае изменения размера его там меняет??? ;) :cool: |
2Nox Noctis
Почему неполучится? Вполне даже получится - среднее арифметическое от сумм подгрузки всех мувов :) :) Но это действительно полный изврат! |
| Часовой пояс GMT +4, время: 13:53. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.