PDA

Просмотр полной версии : управление подгруженными мувиками


ic_art
06.07.2009, 13:47
бьюсь над непонятной проблемой:

есть код:
for(i=1; i<=3; i++){
_root.swach.pic_now_mc.createEmptyMovieClip("pic"+i+"_mc", this.getNextHighestDepth()).loadMovie("pic"+i+".jpg", "pic"+i+"_mc");
current[i]=eval("_root.swach.pic_now_mc.pic"+i+"_mc");
}
который загружает 3 картинки в мувик _root.swach.pic_now_mc, создавая в нём pic1_mc, pic2_mc и pic3_mc,создавая из них массив current[i]
но, когда я далее даю команду current[3]._alpha=0;, то прозрачными становяться все 3 мувика.

PS:
дабавляя в тело цикла trace(current[i]); на выводе получаю:
_level0.swach.pic_now_mc.pic1_mc
_level0.swach.pic_now_mc.pic2_mc
_level0.swach.pic_now_mc.pic3_mc

если же создаю новый цикл:
for(i=1; i<=3; i++){
trace(current[i]);
}
}
то на выходе:



_level0.swach.pic_now_mc.pic3_mc

PPS:
for(i=1; i<=3; i++){
current[i]=_root.swach.pic_now_mc.createEmptyMovieClip("pic"+i+"_mc", this.getNextHighestDepth()).loadMovie("pic"+i+".jpg", "pic"+i+"_mc");
trace(current[i]);
}
на выходе даёт undefined, но картинки загружает...
for(i=1; i<=3; i++){
current[i]=_root.swach.pic_now_mc.createEmptyMovieClip("pic"+i+"_mc", this.getNextHighestDepth());
current[i].loadMovie("pic"+i+".jpg", "pic"+i+"_mc");
trace(current[i]);
}
всё подгружает, на выходе:
_level0.swach.pic_now_mc.pic1_mc
_level0.swach.pic_now_mc.pic2_mc
_level0.swach.pic_now_mc.pic3_mc
но _root.swach.pic_now_mc.pic3_mc._alpha=0 опять прячет все 3 мувика

помогите пожалуйста разобраться что не так?

Добавлено через 38 минут
Дополнение:

введя некоторые правки получаю:
current=new Array();

for(i=1; i<=3; i++){
_root.swach.pic_now_mc.createEmptyMovieClip("pic"+i+"_mc", this.getNextHighestDepth());
loadMovie("pic"+i+".jpg", "_root.swach.pic_now_mc.pic"+i+"_mc");
current[i]="_root.swach.pic_now_mc.pic"+i+"_mc";
trace(current[i]);
}
trace("\n");
for(i=1; i<=3; i++){
trace(current[i]);
current[i]=eval(current[i]);
trace(current[i]);
}

что на выходе даёт:
_root.swach.pic_now_mc.pic1_mc
_root.swach.pic_now_mc.pic2_mc
_root.swach.pic_now_mc.pic3_mc


_root.swach.pic_now_mc.pic1_mc
undefined
_root.swach.pic_now_mc.pic2_mc
undefined
_root.swach.pic_now_mc.pic3_mc
_level0.swach.pic_now_mc.pic3_mc

посещает мысль, что создавая мувик _root.swach.pic_now_mc.pic2_mc убивается мувик _root.swach.pic_now_mc.pic1_mc и так далее...

то, что мувики изначально создаются видно из конструкции:
for(i=1; i<=3; i++){
_root.swach.pic_now_mc.createEmptyMovieClip("pic"+i+"_mc", this.getNextHighestDepth());
loadMovie("pic"+i+".jpg", "_root.swach.pic_now_mc.pic"+i+"_mc");
current[i]=eval("_root.swach.pic_now_mc.pic"+i+"_mc");
trace(current[i]);
}
на выходе:
_level0.swach.pic_now_mc.pic1_mc
_level0.swach.pic_now_mc.pic2_mc
_level0.swach.pic_now_mc.pic3_mc

это я косяк, или флэш косяк???

alekslitvinenk
06.07.2009, 14:43
попробуйте вместо
this.getNextHighestDepth()
использовать

_root.swach.pic_now_mc.getNextHighestDepth()

ic_art
06.07.2009, 14:56
Огромное спасибо!!!

воистину лекарство помогло!!!

iNils
06.07.2009, 15:04
Какое же лекарство? Это обычная невнимательность. Клипы создаете в swach.pic_now_mc, глубину берете в this. Если this не является swach.pic_now_mc, то вы каждый раз создаете клип на одной и той же глубине.

ic_art
06.07.2009, 15:30
однако в других конструкциях этот механизм исправно работал...

хотя не спорю.. я-лох :)

iNils
06.07.2009, 15:47
однако в других конструкциях этотПри условии, что this и есть сам объект указанный в качестве родителя, да.