Просмотр полной версии : создание кнопок
в чем может быть проблема. делаю расстановку кнопок и при нажатии срабатывает всегда пятая кнопка (при выводе пишет _level0.bigcontejner.bigs.small4).
если писать в ролловерах цифры вместо i - то срабатывают все
_root.bigcontejner.createEmptyMovieClip("bigs", 9000);
for (i = 0;i< len-1;i++){
_root.bigcontejner.bigs.createEmptyMovieClip("small"+i, i+100);
_root.bigcontejner.bigs['small'+i].createEmptyMovieClip("_mc", i+10);
_root.bigcontejner.bigs['small'+i]._mc.loadMovie(_root.smallPics[i], i+1);
_root.bigcontejner.bigs['small'+i]._x = 95*i+5;
_root.bigcontejner.bigs['small'+i]._mc._alpha = 50;
_root.bigcontejner.bigs['small'+i].onRollOver = function (){
_root.bigcontejner.bigs['small'+i]._mc._alpha = 100;
}
_root.bigcontejner.bigs['small'+i].onRollOut = function (){
_root.bigcontejner.bigs['small'+i]._mc._alpha = 50;
}
}
nOobCrafter
17.12.2008, 16:24
Смотри, последнее значение i у тебя какое? Правильно 5 (ну вроде как 5, можешь повесить на кнопку trace(i) ), стало быть 'small'+i = small5 к ней ты и обращаешься. Попробуй использовать "относительную" ссылку в адресе, типа this.
последние значение i у меня 10
_root.bigcontejner.bigs['small'+i].onRollOver = function (){
this._mc._alpha = 100;
}
_root.bigcontejner.bigs['small'+i].onRollOut = function (){
this._mc._alpha = 50;
}
lexa2000lexa
17.12.2008, 16:34
_root.bigcontejner.createEmptyMovieClip("bigs", 9000);
for (i = 0;i< len-1;i++){
_root.bigcontejner.bigs.createEmptyMovieClip("small"+i, i+100);
_root.bigcontejner.bigs['small'+i].createEmptyMovieClip("_mc", i+10);
_root.bigcontejner.bigs['small'+i]._mc.loadMovie(_root.smallPics[i], i+1);
_root.bigcontejner.bigs['small'+i]._x = 95*i+5;
_root.bigcontejner.bigs['small'+i]._mc._alpha = 50;
_root.bigcontejner.bigs['small'+i].onRollOver = function (){
this._mc._alpha = 100;
}
_root.bigcontejner.bigs['small'+i].onRollOut = function (){
this._mc._alpha = 50;
}
}
Пожалейте процессор и свои глаза.
var bigs:MovieClip = _root.bigcontejner.createEmptyMovieClip("bigs", 9000);
for (i = 0;i< len-1;i++){
var small:MovieClip = bigs.createEmptyMovieClip("small"+i, i+100);
var _smc:MovieClip = small.createEmptyMovieClip("_mc", i+10);
_smc.loadMovie(_root.smallPics[i], i+1);
_smc._alpha = 50;
small._x = 95*i+5;
small.onRollOver = function () {
this._mc._alpha = 100;
}
small.onRollOut = function () {
this._mc._alpha = 50;
}
}
простите за глупый вопрос, но ...
а как мне обратиться к i в цикле от 0 до len-1, при котором было совершенного нажатие?
_root.bigcontejner.bigs['small'+i].i = i;
_root.bigcontejner.bigs['small'+i].onRollOver = function (){
this._mc._alpha = 100;
trace(this.i);
}
Должно все работать. Вы в тело вашего цикла то вставили его (код)?
for (i = 0;i< len-1;i++){
_root.bigcontejner.bigs['small'+i].i = i;
_root.bigcontejner.bigArea['small'+i].onRelease = function(){
trace(this.i);
_root.big.contejner.clip.removeMovieClip();
_root.big.contejner.loadMovie(_root.lagePics[1]);
_root.mov._alpha = 100;
_root.info._alpha = 100;
_root.info.link.txt.text = _root.path[0];
_root.info._client.txt.text = _root.client[0];
}
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.