Я строго угадываю (я не делаю ActionScript, но JS), но если ваша переменная i
остается неизменной, тогда вам нужно будет использовать закрытие улавливать и связывать это i
на месте:
function resetAll(menuNum){
trace(menuNum);
for (i=0; i<=7; i++){
(function(i){
if(menuNum != 1){
menu_all_mc.this["btn_"+i].gotoAndStop("off");
}
})(i);
}
}
Дайте мне знать, если это не поможет. Также убедитесь, что ключевое слово this
ссылается на правильный контекст выполнения.
Редактировать: this
не может быть указан так, вы уверены, что это не только menu_all_mc["btn_" +i]
? this
не является свойством объекта, если вы явно не определяете его как таковой.
o = {};
trace(o.this==undefined)
оценил бы как истинный, потому что он никогда не определялся. this
в области функций будет ссылаться на текущий контекст выполнения, но не префикс его другим объектом.
Можете ли вы уточнить, какой объект принадлежит .btn1 и т. Д.?
FYI: говоря "это не работает", без предоставления «ожидаемым результат "не помогает другим – mkoryak