Помогите прикрутить прелоадер

Тема в разделе "Флеш", создана пользователем ADvcoaTE, 6 июн 2009.

Статус темы:
Закрыта.
  1. ADvcoaTE

    ADvcoaTE Создатель

    Регистр.:
    30 июл 2008
    Сообщения:
    44
    Симпатии:
    1
    Имется сайт ВОТ имеется html который грузит флеш .swf и есть сам .swf файл....в это всем мало ро3бераюсь,поэтому помогите пл3! подскажите как можна сделать прелоадер к моему сайту?????тобишь что бы небыло тупого черного екрана и он гру3ился фик знает скок,а была полоска или что то типа того,которая показывала проценты загрузки страници.
     
  2. Pipulas

    Pipulas Создатель

    Регистр.:
    26 май 2008
    Сообщения:
    12
    Симпатии:
    2
    1. Открываем FLASH
    2. Сохраняем новый файл с именем "preloader.fla"
    3. Нарисуем прямоугльник, который будет служить нам фоном для текстового поля.
    4. Создадим текстовое поле. (для этого выберем в панели инструментов инструмент "text tool", нарисуем им прямоугольник некоторой длины, чтобы в него приблизительно поместился нужный текст шириной в 4-6 символов. После сделаем на поле правый клик мыши и в выпадающем меню выберем panels>text options.
    5. Окошке "Text Options" мы заменим в выпадающем меню "static text" на "dynamic text" и в поле "Variable" впишем название - text
    пояснения: мы создали динамическое текстовое поле, которому теперь можно задавать свойства для отображения некоторых
    переменных и присвоили ему имя-переменную (text) для обращения к этому полю по его имени.
    6. Далее выделим все объекты в сцене (CNTR+A) и сделаем их одним символом (F8>Movie CLip, просто Мувик) 7. На полученном Movie Clip-e сделаем правый клик мыши и выберем "Actions"
    8. Вписываем код:
    примечание: для того, чтобы вводить вручную код, необходи режим эксперта (expert mode) для этого надо щелкнуть мышкой в окно и нажать CNTRL+E.
    сам код можно скопировать отсюда:
    //------------------------------------- onClipEvent (load) { tot = _root.getBytesTotal(); } onClipEvent (enterFrame) { loaded = _root.getBytesLoaded(); percent = loaded/tot0; text=Math.floor(percent); text=text+"%" if(loaded >= tot){_root.gotoAndStop(2)} } //-------------------------------------
    пояснения к коду:
    весь код внутри клипа заключается в фигурные скобки { - открывающая, } - закрывающая
    ------------------------
    onClipEvent (load) - событие(event) клипа которое срабатывает в момент его полного появления в сцене tot - объявляем новую переменную
    ------------------------
    _root - означает, что обращение к остальным действиям в строке идет через основную сцену (_root)
    ------------------------
    getBytesTotal() - функция, которая выдаст нам общее количество байтов, где? ...а там где напишем ... если мы пишем _root.getBytesTotal(), значит мы получим общее количество байтов всего _root-а, то есть полный размер нашего ролика.
    ------------------------
    onClipEvent (enterFrame) - событие(event) клипа которое обрабатывается каждый раз когда проигрывается новый кадр (связано с ФПС, по-умолчанию=12 раз в секунду, изменить можно, нажав CNTRL+M)
    ------------------------
    loaded - создаем переменную, которая будет считать загруженные байты и присваиваем ей значение... _root.getBytesLoaded() - функция, выдаст нам количество уже загруженных байтов
    ------------------------
    percent = - сделаем еще одну переменную, которая будет отвечать за проценты
    ------------------------
    loaded/tot0; - тут мы просто высчитаем процент уже загруженного от общего количества (школьная формула).
    ------------------------
    text=Math.floor(percent);
    text - переменная-имя текстового поля, которое уже лежит внутри нашего мувика.
    Math.floor(percent) - функция, округляет, заключенное в скобки (percent) значение до ближайшего целого (например: Math.floor(2.5) = 2)
    ------------------------
    text=text+"%" - добавляем к переменной text еще один символ "%" в результате получим круглое число "percent" + "%"
    ------------------------
    и завершит наш код условие
    if(loaded >= tot){_root.gotoAndStop(2)}
    [ if ] - если
    [ loaded ]- уже загруженные байты
    [ >= ] - больше-или-равны
    [ tot ] - общему количеству байтов
    [ gotoAndStop(2) ] - то переходим ко второму кадру
    [ _root.gotoAndStop(2) ] - то переходим ко второму кадру в основной сцене.
    ------------------------
    9. Ну, а теперь мы воткнем этот самый 2 кадр в основную сцену (выделим в линейке кадров 2 кадр и нажмем F7)
    10. Поместим в него какую-нибудь фотографию, к примеру, для увеличения веса всего ролика.
    11. Протестируем прелоадер.
    Нажимаем CNTRL+ENTER один раз Нажимаем CNTRL+ENTER второй раз
    процесс пошел, ждем...
    и теперь, как только прелоадер добежит до 100%, он перепрыгнет на 2 кадр сцены, где нас уже ждет прекрасная муза :).
    в добавок:
    Нажимаем CNTRL+B Теперь видим Bandwidth - профиль в котором видно покадрово, сколько всего весит каждый кадр сцены. А также видны бегущие проценты загрузки.
    В меню debug>customize выставим подходящую нам скорость загрузки для теста. И полюбуемся немного в тишине.
    ------------------------
    Полученный нами в результате всего, мувик можно просто копировать в другие документы и он должен также исправно работать.
    ------------------------
    Небольшая поправка к коду: для корректной работы прелоадера необходимо все же писать не loaded == tot а loaded >= tot (см. код)
    ------------------------
    и еще одно - не забывайте в первый кадр сцены ставить this.stop() !

    Пробуй.....

    Вот неплохой готовый прелоадер:
    http://flash-mx.ru/PrelShow#55
     
  3. ADvcoaTE

    ADvcoaTE Создатель

    Регистр.:
    30 июл 2008
    Сообщения:
    44
    Симпатии:
    1
    yhoo=)) мозг кипит...это всё через flashmx делать нада?
     
  4. sergiobig

    sergiobig Создатель

    Регистр.:
    4 ноя 2008
    Сообщения:
    20
    Симпатии:
    2
  5. Atec

    Atec

    Регистр.:
    28 апр 2007
    Сообщения:
    296
    Симпатии:
    31
    Лучше всего подгрузить через jquery блок с плеером (или плеерами) и будет счастье... и тебе и пользователям...
     
  6. ADvcoaTE

    ADvcoaTE Создатель

    Регистр.:
    30 июл 2008
    Сообщения:
    44
    Симпатии:
    1
    у меня просто нету не флеш мк не адоб флеш...там 5 мин дела,а с инетом моим его качать дня 3,вот и прошу что бы помогли(
     
  7. sevenup

    sevenup Создатель

    Регистр.:
    5 июл 2007
    Сообщения:
    369
    Симпатии:
    143
    Советчики конечно хорошие :)
    Только зачем таким гемороем страдать ? отдельным файлом прелоадер сделать, не вариант? :D

    Или со стороны оптимизации это плохо ?:D
     
  8. ZABITIE

    ZABITIE Писатель

    Регистр.:
    15 мар 2009
    Сообщения:
    9
    Симпатии:
    1
    Объясни пожалуйста как сделать это, вот есть 1(прелоадер.swf). и 2 (основная флешка ) как сделать что бы пока грузилась основная первая мозолила глаза
     
  9. pinox

    pinox Постоялец

    Регистр.:
    14 июн 2007
    Сообщения:
    131
    Симпатии:
    23
    А если прелоадер просто подгрузит 2-ю флешку?
     
  10. sevenup

    sevenup Создатель

    Регистр.:
    5 июл 2007
    Сообщения:
    369
    Симпатии:
    143
    Ты сам читал что спросил? у тебя вопрос с ответом получается :))

    в preloader.swf указуешь что бы он грузил main.swf(или как у тебя там называется основная флешка)
    И будет тебе счастье :);)
     
Статус темы:
Закрыта.