PDA

Просмотр полной версии : Массив в цикле. Сохранение значения переменной


bittergas
13.02.2011, 10:26
var myArray = new Array ("odna", "drugaya", "tretiya");
for (var i = 0; i < 3; i++){
trace "myArray[i]";
_root[myArray[i]].onRelease = function():Void {
var ololo = ///а как мне вот сюда вставить именно то значение которое сейчас в trace?
}
}


всегда с этим была проблема

mooncar
13.02.2011, 10:44
Если я верно понял, у вас элементы массива - имена мувиков?
Решение:

var myArray = new Array("odna", "drugaya", "tretiya");
for (var i = 0; i < 3; i++)
{
_root[myArray[i]].num = i;
_root[myArray[i]].onRelease = myArrOnRelease;
}

function myArrOnRelease()
{
trace(this); //выведет сам мувик
var ololo:Number = this.num;
trace(ololo); //выведет номер
}

Просто нужно использовать ссылку на this, а если нужно сохранить еще и номер (индекс в массиве), то заранее присвоить его в мувик прямо в цикле.

bittergas
13.02.2011, 11:03
mooncar, спасибо огромное! вы меня правильно поняли, всё теперь замечательно работает, благодарю за быстрый ответ!