PDA

Просмотр полной версии : И снова аттачмувик!!


repz
06.11.2006, 02:40
Вопрос другой немного, пишу в новой теме..
название экземпляра приаттаченного мувика получается все время "Top" - не вызовет ли это проблем в работе и если вызовет, возможно ли прикрутить какой-нить рандом.:-))

for (i=0; i<17; i++) {
this["pic"+i+"_mc"].X = i;
this["pic"+i+"_mc"].onRelease = function() {
mcLoader.loadClip(p+this.X+".jpg",picViewer_mc.picLoader);
var thisBug:MovieClip = attachMovie("Top"+this.X,"Top",0,{_x:1,_y:1});
thisBug.onRelease=function() {
trace("работает");
}
}

};

P.S. Кажись дошло, при нажатии каждый раз создается новый экземпляр или нет....???

El Scream
06.11.2006, 02:46
вы создаете временное имя thisBug для всех приаттаченных клипов ( по раздельности)
Если нужны различные действия то можете зделать приверно следующее

for (i=0; i<17; i++) {
this["pic"+i+"_mc"].X = i;
this["pic"+i+"_mc"].onRelease = function() {
mcLoader.loadClip(p+this.X+".jpg",picViewer_mc.picLoader);
var thisBug:MovieClip = attachMovie("Top"+this.X,"Top",0,{_x:1,_y:1});
if (i<10) {
thisBug.onRelease=function() {
trace("работает вот так 1");}}
}
else {
thisBug.onRelease=function() {
trace("работает вот так 2");}}
}

};



Дальше ограничением будет только ваша фантазия.

repz
06.11.2006, 02:52
Что т не работает :-(((

El Scream
06.11.2006, 03:04
Все правильно. В одном цикле вы на один и тот же слой "перезаписывая" создаете 17 раз разные клипы. Т.е. надо менять постоянно глубину. А вообще, мой вам совет. Посмотрите исходники таких флешек как Снег и дождь, где объекты аттачатся а не рисуются. Это самый простой пример генерирования приаттаченых мувиков в клип.

repz
06.11.2006, 03:15
Уж почти се сделал, кода буду переделывать с учетом новых знаний :-))) посматрю, спасиб, еще вопросик:
for (i=0; i<17; i++) {
this["pic"+i+"_mc"].X = i;
this["pic"+i+"_mc"].onRelease = function() {
mcLoader.loadClip(this.X+".jpg",picViewer_mc.picLoader);
var thisBug:MovieClip = attachMovie("Top","Top1",0,{_x:1,_y:1});
thisBug.onRelease=function() {
mcLoader.loadClip(this.X+".swf",myLoader);
trace(this.X);}
}

};
Как расширить видимость this.X на кнопку thisBug, что бы каждый раз при нажатии новая свф подгружалась или заново ее задать может можно???

Хемуль
06.11.2006, 03:50
mcLoader.loadClip(this.X+".jpg", picViewer_mc.picLoader);
var thisBug:MovieClip = attachMovie("Top","Top1",0,{_x:1,_y:1});
thisBug.X = this.X;
thisBug.onRelease = function()
{
mcLoader.loadClip(this.X+".swf",myLoader);
trace(this.X);
}

?

repz
06.11.2006, 04:00
Так-то оно так только не загружается this.X+".swf", а должен бы, в trace все пральна вроде, где трабл.??? не пойму....
P.s. мой косяк, СПАСИБО, все работает:-)))))))))!!!!