Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Нужно сделать проверку: загрузились ли данные (http://www.flasher.ru/forum/showthread.php?t=144161)

romankmaks 04.09.2010 13:45

Нужно сделать проверку: загрузились ли данные
 
Во флэшку должны загрузиться данные через xml с помощью цикла for. Но в этом цикле надо как-то проверять загрузился ли текст полностью, и только тогда приступать к загрузке следующего текста, иначе ещё не загрузив предыдущий материал начинается загрузка следующего. Вот немного кода:

Код AS3:

for(var i:int = 0; i < XmlList.length(); i++) {
                loader.load(new URLRequest(XmlList[i].attributes()[0]));
                      //здесь должна быть проверка
                lesson.push(loader.data);
 
                //loader.addEventListener(Event.COMPLETE, onComplete);  такой вариант не подходит
}


iNils 04.09.2010 13:47

Для оформления своего кода надо использовать теги [code][/code]

Не надо грузиться в цикле. Дождались сначала Event.COMPLETE, потом грузите следующий урл.

i.o. 04.09.2010 13:56

Цитата:

такой вариант не подходит
А чем он так плох?

Psycho Tiger 04.09.2010 14:24

Видимо, он хочет одним Loader`ом загрузить сразу и всё. Не получится, ну.

romankmaks 04.09.2010 19:33

Да, я хотел загрузить одним циклом и лоадером, но я так понимаю, что это не возможно? Тогда подскажите как осуществить мою задумку с помощью Event.Complete?

3p.station 04.09.2010 19:53

а почему стобсвтенно тебя не устрвивает что текст загрузится весь сразу? (ну или блоки с текстом будут загружаться одновременно)
Код AS3:

for(var i:int = 0; i < XmlList.length(); i++) {
        var loader:Loader = new Loader();       
        loader.load(new URLRequest(XmlList[i].attributes()[0]));
        loader.addEventListener(Event.COMPLETE, onComplete);
}
function onComplete(e:Event):void
{
lesson.push(e.target.content);
}


romankmaks 04.09.2010 20:16

3p.station, приведенный выше код не хочет работать, выводит Error #2044: Необработанный IOErrorEvent:. text=Error #2124: Неизвестный тип загруженного файла.
Объясню всю ситуацию поподробнее: у меня есть несколько txt файлов, мне нужно их все загрузить и загнать в массив для дальнейшего использования. Если применить Event.Complete, то к loader'у просто добавляется слушатель события, но не смотря на то, загрузился ли текст полностью или нет цикл продолжает повторяться; в итоге полностью загружается только последний материал.

i.o. 04.09.2010 20:29

Вам тогда нужен URLLoader

3p.station 04.09.2010 20:33

Код AS3:

        var txtLoader:URLLoader = new URLLoader();
            txtLoader.load(new URLRequest(XmlList[i].attributes()[0]));
            txtLoader.addEventListener(Event.COMPLETE, LoadTxtComplete);                       
 
function LoadTxtComplete(event:Event):void
{
        vsr Txt = event.target.data;
        lesson.push(Txt);
}


romankmaks 04.09.2010 20:58

3p.station, огромное спасибо! Работает! Я правда не совсем понял почему работает=), но главное получается то, что я хотел! Спасибо!


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

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