PDA

Просмотр полной версии : А массив можно динамически в цикле заполнять?


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
понял спасибо

а как мне теперь к элементу массива(картинке) обратиться
пробовал
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
Ты прочитал мой ответ? Там все ясно изложено.

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

diezel555
16.11.2006, 10:37
iNils - понял - просто второпях и серцах не всегда аккуратно получается - СОРРИ

Bob Marley - скажи дружище а с чего у меня не работает
arrClips[0]._visible=50;
arrClips[0].onRelease()
{trace("good boy");}
опять чото протупил?

diezel555
16.11.2006, 10:39
то есть:)
arrClips[0]._visible=0;

diezel555
16.11.2006, 10:49
для Bob Marley
arrClips[0]._visible=0; сорри на твоем исходнике работает. щас со своим разберусь

diezel555
16.11.2006, 12:06
Обошелся без массива BUT.Следующий горб вылез:).Собственно.
this.createEmptyMovieClip("mc",_root.getNextHighestDepth());
for(i=0;i<=5;i++){
mc.duplicateMovieClip("mc"+i, i);
_root["mc"+i]._x=(i%10)*200;
_root["mc"+i]._y=Math.round(i/10)*200;
_root["mc"+i].loadMovie("pics/"+i+".jpg");
}
mc._y = -0;
_root.mc0._alpha=50;
_root.mc0._x=100;
_root.mc0._visible=0;ну то есть первый муви-падла не хочет становиться невидимым. А чегой-то?