Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   Прелоадер (http://www.flasher.ru/forum/showthread.php?t=80496)

SkyLane 30.05.2006 15:12

Прелоадер
 
Эта тема тут много раз обсуждалось. Почитла-ничего не помогло.
Как сделать простой прелоадер ко всему сайту? Помогите, пожалуйста.
У меня весия MX 2004

MyXus 30.05.2006 15:25

в первом кадре только прелоадер
со второго кадра - весь остальной мув
Код:

stop();
var intervID;
intervID = setInterval(function() {
  var t = _root.getBytesTotal();
  var l = _root.getBytesLoaded();
  if(t==l) {
      clearInterval(intervID);
      _root.gotoAndPlay(2);
      return;
  }
  preloader_mov.gotoAndPlay(Math.round(100*l/t+1));
}, 20);


MyXus 30.05.2006 15:26

Не проверял, но должно работать.
preloader_mov - 101-кадровый мув прелоадера.
(это всё как одна из вариаций)

Bkmz 30.05.2006 15:27

> Как сделать простой прелоадер ко всему сайту?
у тебя весь сайт - флешка? если да, то так как написано в многочисленных примерах.

SkyLane 30.05.2006 15:36

Ладно. Так получается, что если хочешь сделать что-нибудь нужно в первый кадр тыкнуть симво-муви-клип?

MyXus 30.05.2006 15:42

А в чем проблема.
Ну можно и не создавать новый кадр, но это уже исходя из конкретной задачи.

SkyLane 30.05.2006 15:45

Ну я на самом деле просто хочу чтобы у меня вместо белой дырки на черном фоне что-нибудь поприличнее было.

MyXus 30.05.2006 15:51

Ну так сделай поприличнее :-)

-=GRAF=- 30.05.2006 16:38

Для пред лоадера с progressbaroM 100%;
И скорость, время и прогрес.
1) Первый наш кадр называем "loading" и вставляем код
Код HTML:

stop();
;
2) Потом рисуем линию ( progressbar) выделяем его и нажимаем F8, ставим галочку на Мovie Clip и нажимаем ок.
3) Называем нашу линию "progressbar" ОМ, и вставляем в наш Movie Clip этот код:
Код HTML:

onClipEvent(load) {
        // get starting information
        totalFileSize = _root.getBytesTotal();
        startTime = getTimer();
        startBytes = _root.getBytesLoaded();

        // hide progress bar
        this._xscale = 0;
}

onClipEvent(enterFrame) {
        bytesLoaded = _root.getBytesLoaded();
        amountLoaded = bytesLoaded/totalFileSize;
        percentLoaded = int(100*amountLoaded);
        this._xscale = percentLoaded;
        timeSoFar = getTimer() - startTime;
        speed = bytesLoaded/timeSoFar;
        bytesLeft = totalFileSize - bytesLoaded;
        timeLeft = (bytesLeft/speed)/1000;
        speed = int(10*speed)/10;
        _root.bytesMessage = int(bytesLoaded/1000) + "kb/" + int(totalFileSize/1000) + "kb";
        _root.speedMessage = speed + "k/sec";
        _root.timeMessage = int(timeLeft) + " seconds remaining";
        if (amountLoaded >= 1.0) {
                _root.gotoAndStop("complete");
        }
}


4) Делаем три динамических поля в кадре (не в мувике) и даем им названия переменных, тоесть var:
1)вое "bytesMessage"
2)рое "speedMessage"
3)тье "timeMessage"

5) Делаем второй кадр и называем его "complete"
6) Сколько бы слоев небыло будет работать.
7) Когда запустешm будет 2торой кадр где написано "comlete";
Что б проверить лоадер, сотри слово "comlete" на втором кадре, а потом снова поставь.
8) Юзай поиск, этого ваще полно!
9) Не поможет, я незнаю.. учи основы тогда... или ищи исходники...:rtfm:

ToXICus 17.06.2006 22:52

А как сделать красивую полоску загрузки, исползуя неоднородную растровую картинку буз применения _xscale & _yscale?

iNils 17.06.2006 23:04

Маской.

PSoWP 18.06.2006 01:54

2-=GRAF=-
Лучше сетИнтервал использовать, а то мувик грузится ,а ентерфрам грузит сильней и, если даил ап, то значительно.
Хотя щас у многих уже норм интернет канал, а для выделинки это не сильно заметно...
Но всётаки о других подумать надо.

etc 18.06.2006 12:24

setInterval тормозит ничуть не меньше.

iNils 18.06.2006 12:26

Кто мне сможет объяснить связь между dial-up и onEnterFrame?

etc 18.06.2006 12:30

Никакой связи. А интервал пригодится в случае невизуального процесса, но никак не для визуального изменения чего-либо (если интервал меньше времени смены кадра, к длинным промежуткам это не относится)

PSoWP 18.06.2006 15:02

Интервал нормальный а не setInterval(aaa,1), я имел в виду что можно вызывать функцию раз в секунду или на худой конец раз в полсекунды, а это поможет дайл апу оч сильно.

iNils 18.06.2006 15:10

Интересно как?

delici 22.09.2006 01:59

не пашет....

_bkt 22.09.2006 02:14

Всегда брал такой код, никогда не подводил (гориз. прелоадер):

Код:

onClipEvent (load) {
        total = _root.getBytesTotal();
}
onClipEvent (enterFrame) {
        loaded = _root.getBytesLoaded();
        percent = int( loaded / total * 100);
        text = "загружено на " + percent + "%";
        gotoAndStop(percent);
        if (loaded == total) {
                _root.gotoAndStop(2);
        }
}

Вешается на мувиклип, в нутри которого 100 кадров, и динамическое поле text + анимация через маску, под которой что Вам угодно.

delici 22.09.2006 02:34

странно..не хочет работать и все...я уже и на хосте пробовал удаленном..нивкакую

pkfun 22.09.2006 02:59

Про внешний загрузчик и класс MovieClipLoader уже и не вспоминают. Я как-то находил на этом форуме много примеров...

_bkt 22.09.2006 03:09

2 delici
Вот тебе: http://expogas.com.ua/preload.fla

Должно работать, сохранил для 7-ки, разбирайся.

Nick Rogalev 22.09.2006 08:30

Цитата:

Сообщение от ToXICus
А как сделать красивую полоску загрузки, исползуя неоднородную растровую картинку буз применения _xscale & _yscale?

Может быть использовать маску?

Neosano 22.09.2006 12:07

Вложений: 1
во, проще не бывает!

Neosano 22.09.2006 12:07

2_bkt
Писать код в мувиклипах, кхм... (с)


Часовой пояс GMT +4, время: 07:08.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.