Форум 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=88008)

diezel555 15.11.2006 16:36

А массив можно динамически в цикле заполнять?
 
Т.е. я хочу в созданный массив
Код:

var a_array:Array = new Array();
в цикле запузырить переменные загружаемых картинок

Код:

for (i=0; i<mc_col; i++) {

mc.duplicateMovieClip("mc"+i, i);
this["mc"+i]._x=(i%10)*200;
this["mc"+i]._y=Math.round(i/10)*200;
this["mc"+i].loadMovie("pics/"+i+".jpg");

var myListener:Object = new Object();
Object = this["mc"+i];
trace(Object);
var a_array:Array = new Array();
a_array[i] = Object;
trace(a_array.join(", "));
}
trace(a_array);

после конца цикла пишет что массив из 10 элементов а сами элементы
"undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, undefined, _level0.mc9"

undefined, - не устраивает:wacko: - чо делать Браты и Сестры? - скажите Сирому:eek:

AlexSol 15.11.2006 16:53

Код:

var a_array:Array = new Array();
for (i=0; i<10; i++) {
        mc.duplicateMovieClip("mc"+i, i);
        this["mc"+i]._x = (i%10)*200;
        this["mc"+i]._y = Math.round(i/10)*200;
        this["mc"+i].loadMovie("pics/"+i+".jpg");
        var myListener:Object = new Object();
        Object = this["mc"+i];
        trace(Object);
        a_array[i] = Object;
}
trace('------')
trace(a_array.join("\n"));


diezel555 15.11.2006 17:11

Огромное человеческое спасибо
Прикол - сам сделал
Код:

trace(a_array.join("\n"));
- закоментил - а потом удивляюсь

Все равно AlexSol - огромное спасибо!!!:)

AlexSol 15.11.2006 17:32

ваша проблемы что вы каждый раз в цикле создавали массив заново, стирая предыдущие значения.

diezel555 15.11.2006 17:49

понял спасибо

а как мне теперь к элементу массива(картинке) обратиться. пробовал:
Код:

a_array[0]._visible = 0;
не помогает. картинка находится на level10. чо делать?

BigDan 15.11.2006 18:09

Цитата:

Сообщение от diezel555
понял спасибо

а как мне теперь к элементу массива(картинке) обратиться
пробовал
a_array[0]._visible = 0;

не помогает

картинка находится на level10

чо делать?

Не надо создавать новый объект, потом присваивать ему мувик, просто пишешь:
array[i]=this["mc"+i];
После этого в твоем массиве будут хранится ссылки на все мувы.

diezel555 15.11.2006 18:47

ОТЦУ Регги - Bob Marley и его поклонникам - тоже огромный сенкс:)

diezel555 15.11.2006 18:48

а все таки на вопросик дайте ответик
а как мне теперь к элементу массива(картинке) обратиться. пробовал:
Код:

a_array[0]._visible = 0;
не помогает. картинка находится на level10. чо делать?

BigDan 15.11.2006 19:30

Вложений: 1
Ты прочитал мой ответ? Там все ясно изложено.

iNils 15.11.2006 20:16

2 diezel555:
1. Не надо постоянно между строчками текста делать пустый строки. Это не читабельно, если у вас разделение не между абзацами.
2. Конец предложения обозначается точкой, а не переносом на новую строку.
3. Для оформления своего кода, надо использовать теги [code][/code], даже если у вас одна строка.


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

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