PDA

Просмотр полной версии : Цикл и массив?


repz
24.12.2007, 12:15
В коде ниже (красным) цикл в трейсе выводит все от 1 до 14, вместо того, что бы вывести номер в массиве? то есть 222 -1, 333 -2....??
var arr:Array = new Array(222,333,444,555,666,777,888,999,111,356,654,585,256,554)

for(var i=0;i<arr.length;i++){
mc = _root.attachMovie('mov','mov'+i,i,{_x:100, _y:20+20*i})
mc.txt.text = arr[i]
mc.onPress = pressed
}
function pressed () {
trace(this.txt.text);
var a:Number;
for (a = 1; a <= i; a++) {

//Клип лоадер
var container:MovieClip = createEmptyMovieClip("container", getNextHighestDepth());
var mcLoader:MovieClipLoader = new MovieClipLoader();
mcLoader.addListener(this);
mcLoader.loadClip("adres"+a+".swf", container);
container._x=1;
container._y=1;
}
/////////////
}

alexcon314
24.12.2007, 15:43
>> for (a = 1; a <= i; a++) {
значение 'i' у вас берется из предыдущего цикла, т.е. i=14. 'a' при этом пробегает значения от 1 до 14 соответственно.

function pressed () {
trace(this.txt.text);
var amax = this.txt.text
for (a = 1; a <= amax; a++) {
....

repz
24.12.2007, 16:26
так-то оно так, если б тока не подвешивал систему. и потом возвращает -то все равно не номер в массиве а значение в массиве.

alexcon314
24.12.2007, 17:33
что вам мешает сохранять номер?

repz
24.12.2007, 17:56
Вот я и пытаюсь понять, как это сделать)?