Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 1.0/2.0 (http://www.flasher.ru/forum/forumdisplay.php?f=93)
-   -   И снова аттачмувик!! (http://www.flasher.ru/forum/showthread.php?t=87462)

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. мой косяк, СПАСИБО, все работает:-)))))))))!!!!


Часовой пояс GMT +4, время: 13:21.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.