Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Шаг за Шагом Preloader ? (http://www.flasher.ru/forum/showthread.php?t=140611)

Streelight 03.06.2010 15:26

Шаг за Шагом Preloader ?
 
Добрый день Уважаемые обитатели Flasher.Ru !!!

Пришел к вам за советом : Как сделать 4 шаг за шагом прелоадер ( прелоадер загружающий прелоадер который загружает главный Мувик который по оканчанию загружает 4 мувик ) ???

Вообщем :

1. Хочу сделать маленький прелоадер с графикой ( 400 - 800 kb ) загружающий следующий мувиклип - прелоадер ( 900 - 1.2 mb ).

2. Следующий прелоадер загружающий Главный Мувиклип ( 5 - 8 mb )

3. И после окончания главного мувиклипа загружать Последний Мувиклип, который будет лупом на 5-7 mb.

Надеюсь обьяснил ясно ***

Буду рад любым советам и AS3 кодам в подсказку ;)))

Еще мучает вопрос : как поставлять мувиклипы что бы один был в другом и где писать AS что бы один загружал другой последовательно ???




Спасибо !!!

TERRORist 03.06.2010 16:36

400 - 800 kb - это большой размер для прелоадера

mikhailk 03.06.2010 19:53

имхо, делать надо не так. ))
Должен быть один прелоадер, он же контроллер, который по очереди загружает и проигрывает все мувики.

И весить он будет до 100к, даже если с примитивной графикой.

Streelight 03.06.2010 20:06

Понял !!!

Так а как установить последовательность загрузки мувиков ???

Помогите разобраться более подробно !!!

easy.proger 03.06.2010 21:01

ну можно так

Код AS3:

import flash.text.TextField;
import flash.display.Loader;
import flash.events.*;
import flash.net.*;
 
var curNum:Number;
var loader:Loader;
var arrayUrlSwf:Array = [];
var arrayContainers:Array = [];
var textPreloader:TextField = new TextField();
 
textPreloader.selectable = false;
textPreloader.autoSize = "left";
textPreloader.text = "StartLoading";
 
var spriteFirst:Sprite = new Sprite();
var spriteTwo:Sprite = new Sprite();
addChild(spriteFirst);
addChild(spriteTwo);
 
arrayContainers.push(spriteFirst);
arrayUrlSwf.push("1.jpg");
arrayContainers.push(spriteTwo);
arrayUrlSwf.push("2.jpg");
 
curNum = 0;
addChild(textPreloader);
loadNum();
 
function loadNum():void
{
      if (curNum>=arrayUrlSwf.length)
      {
 
                        curNum = 0;
                        removeChild(textPreloader);
                        return;
      }
      loader = new Loader();
      loader.load(new URLRequest(arrayUrlSwf[curNum]));
      loader.contentLoaderInfo.addEventListener(Event.COMPLETE,completeLoadNum);
      loader.contentLoaderInfo.addEventListener(ProgressEvent.PROGRESS,progressHandler);
      arrayContainers[curNum].addChild(loader)
}
function progressHandler(event:ProgressEvent):void
{
      textPreloader.text = "загруженно на:"+int(event.bytesLoaded/event.bytesTotal*100)+"%";
          trace(textPreloader.text);
}
function completeLoadNum(event:Event):void
{
          trace("complete");
          textPreloader.text = "";
      curNum++;
      loadNum();
}

Для начала создаем и сохраняем контэйнер для хранения загруженного контента
Код AS3:

arrayContainers.push(spriteFirst);

сохраняем путь до контента
Код AS3:

arrayUrlSwf.push("1.jpg");

следующий контент так же;
Код AS3:

arrayContainers.push(spriteTwo);
arrayUrlSwf.push("2.jpg");

после чего запускаем последовательную загрузку

Streelight 04.06.2010 15:12

Спасибо тебе Большое Добрый Человек !!!

Буду разбираться ***


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

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