Форум 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=130800)

Monsoro 06.10.2009 00:44

Замена одного клипа другим
 
Здравствуйте!
У меня следующая проблема. Я с помощью attachMovie создаю n-экземпляров Клипа1. Затем, если я нажимаю на какой-то экзамепляр,вместо него должен появиться экзепляр Клипа2. Если я нажимаю на экзмепляр Клипа2, то появляется Клип1 и тд. Но: я запускаю прогу, нажимаю на экземпляр Клип1, появляется Клип2,Нажимаю Клип2 - появляется Клип1.и больше Клип1 не доступен для нажатия. Не знаю,как это исправить. Прилагаю часть кода, отвечающую за данные манипуляции(прошу прощения,если неправильно вставлен код-никогда ранее это не использовалось).
Код AS1/AS2:

for (var j=0; j<10; j++) {
        for ( var i=0; i<10;i++) {
                        x=1279+42.3*i-27.7*j;
                        y=86+30.2*j;
                        new_movie1=attachMovie("doska","doska"+z,z);
                        new_movie1.z=z;
                        isxod[z]=new_movie1;
                        isxod[z]._x=x+145;
                        isxod[z]._y=y+247;
                                new_movie1.onPress = function():Void {
                                        z=this.z;
                                        if (flag[z]==0) {
                                                x=this._x;
                                                y=this._y;
                                                half=attachMovie("doska_middle","doska_middle"+z,z);
                                                half.z=z;
                                                middle[z]=half;
                                                half._x=x-554;
                                                half._y=y-19;
                                                half.onPress = function(): Void {
                                                        z=this.z;                                                       
                                                        if (flag[z]==1) {
                                                        x=middle[z]._x+554;
                                                        y=middle[z]._y+19;
                                                        new_movie1=attachMovie("doska","doska"+z,z);
                                                        new_movie1.z=z;
                                                        isxod[z]=new_movie1;
                                                        isxod[z]._x=x;
                                                        isxod[z]._y=y;
                                                        flag[z]=0;
                                                        }
                                                }
                                                flag[z]=1;       
                                                }
                                }
                        z++;
                }
        }


true11 07.10.2009 01:24

Хм.
А не проще в прикрепляемом мувике сделать 2 клипа? И один из них сделать невидимым, а потом просто менять свойство _visible.
Вот пример, сам не тестил, опаздываю на метро. Должно работать :)
к примеру:
Код AS1/AS2:

for(i=1;i<=5;i++){
xpos=i*55;
this.attachMovie("myclip", "mcclip"+i, this.getNextHighestDepth(), {_x:xpos, _y:50});
this['mcclip'+i].mc1._visible=0; // один из мувиков делаем невидимым
this['mcclip'+i].i=i;
this['mcclip'+i].onPress = function(){swapClips(this.i);}
}
 
function swapPress(num){ // делаем другой мувик видимым
this['mcclip'+num].mc1._visible=1;
this['mcclip'+num].mc2._visible=0;
}

Вообщем.
Создаем Клип с именем myclip в библиотеке с шириной 50px.
В нем два клипа, лучше разных цветов: mc1 и mc2

Monsoro 10.10.2009 23:30

Идею про видимость\невидимость поняла. а вот про клип, в котором 2 клипа-не очень. Не знаю,как это сделать

Добавлено через 66 часов 56 минут
что-то у меня ничего не получается..=(


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

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