PDA

Просмотр полной версии : работа с масивом, в чем перец!?


artemf
17.01.2010, 22:42
всем привет!!! решил разобраться и хрень какаято...

var test:Array=[];
for(i=0;i<9;i++)
{
duplicateMovieClip(box_mc,"box_mc"+i,i);
test[i]="box_mc"+i;
}
trace(test[1]._x);//выводит undefined

trace(test[0]._x);//выводит undefined

trace(box_mc9._x);// выводит кординаты box_mc9._x

trace(test);//выводит масcив test

var test2:Array=[box_mc0,box_mc7,box_mc8,box_mc5];

trace("test2[3]"+test2[3]._x);//выводит кординаты box_mc5

trace("test2[0]"+test2[0]._x);//выводит кординаты box_mc0

trace(test2);// выводит масcив test2

в чем касяк?!

fljot
17.01.2010, 22:51
В массиве test у вас хранятся строки, у них нету свойств _x

Hauts
17.01.2010, 22:52
Косяк в этом. test[i]="box_mc"+i;

У вас массив заполняется именами клипов, а не ссылками на них.

artemf
17.01.2010, 22:53
возможно ли сформировать масив в цикле!?

Psycho Tiger
17.01.2010, 22:55
test[i]="box_mc"+i;

=>

test[0]="box_mc"+0="box_mc0";

=>

trace(test[0]._x); = trace("box_mc0"._x);


У строки нет свойства _x

Добавлено через 37 секунд
Опередили =)
test.push(duplicateMovieClip(box_mc,"box_mc"+i,i));

udaaff
17.01.2010, 22:56
duplicateMovieClip() возвращает ссылку на мувиклип. Вот ее и записывайте в массив.

artemf
17.01.2010, 23:30
_root.box_mc
вот так получается. только не так как думал.

Добавлено через 4 минуты
спасибо!