Архивировано

Эта тема находится в архиве и закрыта для публикации сообщений.

*zavr

Загрузкик (прелоадер)

Рекомендованные сообщения

Итак, вот решил вам написать, как же сделать загрузкик, или иными словами прелоадер. Есть 2 способа:

1) Делаем сами;

2) Используем компонент ProgressBar

Мы рассмотрим первый способ.

Все делается очень быстро и легко, так что не надо бояться.

Итак, во-первых мы создаем какой-нибудь Movie clip. Делаем там кадров 100 (можно, конечно меньше или больше, но тогда он будет либо слижком плавно, либо слижком резко). Создаем там какую-нибудь анимацию (движение Motion Tween, закрашивание за 100 фреймов и т.д.), которая и будет вашим загрузчиком. Можно еще созать динамическое текстовое поле, которое показывает сколько процентов загрузилось. Для этого создаем текстовое поле, делает его динамическим, в поле var пишем: "text", как показано на рисунке. Для удобства можно написать 51%.

Все готово. Ваш релоадер оказался в библиотеке.

Теперь мы должны написать код. Это делается с помощью двух простых функций:

getBytesTotal() и getBytesLoaded().

Приступим. Помещаем наш загрузчик на сцену, выделяем его и в Action'е пишем:

onClipEvent (load)
{
total = getBytesTotal();
}

Тут мы зафиксировали в переменной total размер нашей флешки. Это все мы пишем в загрузчике, не забыли? :russian:

onClipEvent (enterFrame)
{
loaded = getBytesLoaded();
percent = int(loaded / total * 100);
text = percent + "%";
gotoAndStop(percent);
if (loaded == total)
{
gotoAndPlay(2);
}
}

Теперь мы заносим в ячейку памяти loaded ( :russian: так любил говорить наш информатик, когда мы изучали Basic) объем информации, который уже загрузился, в ячейку percent - процент загрузки (функция int служит для округления числа), и в text - помните мы создали текстовое поле? так вот, с помощю этой одной строчки оно будет работать! Потом мы заставляем наш загрузчик работать (т.е. двигаться, закрашиваться). А дальше все просто - если все загружено, то мы идем на кадр 2.

Вот и все! Можете скачать исходник...

loader2.rar

post-19920-1137839863_thumb.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

function loadingMC(MC,URL){
  eval(MC).loadMovie(URL);
  eval(MC).onEnterFrame=function(){
  trace("Loaded "+(this.getBytesLoaded()/this.getBytesTotal())*100+"%");
  if(this.getBytesLoaded()>=this.getBytesTotal()){
	 delete this.onEnterFrame;
	 trace("Load complete");
  }
  }
}

 

потом вызываем функцию

loadingMC("куда грузим","откуда грузим");

феньки по выводу прогресс баров и прочего - это уже сам фантазируйте, данные подсчитываются...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах