Форум 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)
-   -   Как использовать переменную в условии for? (http://www.flasher.ru/forum/showthread.php?t=99071)

rispekt 27.07.2007 14:57

Как использовать переменную в условии for?
 
Код:

var xmlTest:XML = new XML();
xmlTest.ignoreWhite = true;
xmlTest.load("par1.xml");
xmlTest.onLoad = function(){
_root.num=xmlTest.childNodes[0].childNodes[0].firstChild;
_root.num=parseInt(_root.num);
}
for (i = 1; i < _root.num ; i++) {
        var mc = this.attachMovie ("level1", "container"+i, this.getNextHighestDepth());       
        mc.loadMovie(i + ".jpg");
        mc._x = i+30;       
}

Почему-то не работает.

iNils 27.07.2007 14:59

Вы сначала в трейс выведите _root.num и посмотрите, что выходит

zurmansor 27.07.2007 15:01

а что вообще содержится в _root.num перед циклом?

etc 27.07.2007 15:07

Ничего не содержится, ибо onLoad выполнится гораздо позже цикла, следующего сразу за ним ввиду асинхронности.

rispekt 27.07.2007 15:11

Вложений: 1
трейс показывает то, что нужно. 15 тоесть. (прикреплён скриншот)
А for почему-то не работает... хотя если написать 15, вместо num, все ок.

rispekt 27.07.2007 15:12

Цитата:

Ничего не содержится, ибо onLoad выполнится гораздо позже цикла, следующего сразу за ним ввиду асинхронности..
тоесть нужно перенести for в сл. кадр?

etc 27.07.2007 15:13

Потому что onLoad на момент выполения цикла ещё не был выполнен. Он выполнится только тогда, когда будет загружен файл. Никакой остановки выполнения кода после load не будет, это не C++.
Цикл нужно воткнуть внутрь onLoad, а не в следующий кадр.

rispekt 27.07.2007 15:18

Цитата:

Сообщение от __etc
Потому что onLoad на момент выполения цикла ещё не был выполнен. Он выполнится только тогда, когда будет загружен файл. Никакой остановки выполнения кода после load не будет, это не C++.
Цикл нужно воткнуть внутрь onLoad, а не в следующий кадр.

А по-другому никак нельзя?
Мне эту переменную еще нужно будет много раз использовать. Как-нибудь можно сделать так, чтобы она загрузилась в начале мувика и была доступна на его протяжении?

iNils 27.07.2007 15:20

Она и будет доступна, но после загрузки.

Жень Шень 27.07.2007 18:12

Код:

var xmlTest:XML = new XML();
xmlTest.ignoreWhite = true;
xmlTest.load("par1.xml");
xmlTest.onLoad = function(success:Boolean){
        if (success) {
                trace(“Загрузка прошла успешно”)
                                // пишем дальше свой код                             
        } else {
                trace("Ошибка загрузки");
        }

}



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

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