PDA

Просмотр полной версии : Функция на MovieClip в цикле


Stas52
13.06.2008, 02:31
Объясните, пожалуйста, что не так? В результате выводятся одинаковые ID. Но мне то надо разные. Как поступить?

for ( var i=0; i<Connection.length; i++) {
attachMovie("sts_connection", "connection_"+i, 1000+i );
this["connection_"+i].onPress = function () {
trace("This ID is " + i);
}
}

Wolsh
13.06.2008, 02:42
А чему будет равно i, когда цикл закончится и Вы сможете нажать на мувик?
Правильно, последнему i. Вот его айди Вы и получите.
Решение - сохранять "родной" i в свойствах клипа сразу после его создания в цикле:
for ( var i=0; i<Connection.length; i++) {
var con_mc:MovieClip = attachMovie("sts_connection", "connection_"+i, 1000+i );
con_mc.id = i;
con_mc.onPress = function () {
trace("This ID is " + this.id);
}
}

lak-n-roll
18.07.2008, 20:58
У меня вопрос по этой же теме! А как ссылаться на родной i, если тот не родной, а находится в родительской цикле? this.id не коннектится. То есть, если я в цикле сохранил родной i в свойствах клипа, то как обратиться к нему в дочернем цикле?

chingachgoog
18.07.2008, 21:04
lak-n-roll, вы код напишите, что у вас к чему обращается :)

lak-n-roll
18.07.2008, 21:12
) я сам ответ нашел. передал значегия i новому циклу через _root
Бедный _root убитый в AS3

Wolsh
18.07.2008, 21:33
_parent там тоже убили? ;)