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

Antares 11.01.2006 07:51

Бинго! Вас это не наводит на мысль?

3r0jan 11.01.2006 14:22

наводит на то что надо код к кнопке в каждом дубле привязывать из уровня ниже но что то у меня не получается =/ вот и прошу помоч

motor4ik 11.01.2006 14:32

еще раз задачу и поконкретней...и покороче

3r0jan 11.01.2006 14:42

задача создать массив вне дубля при нажатии на кнопку в дубле причём при нажатии на такую же кнопку в другом дубле в масив должны добавляться элементы а не создаваться ещё один массив код который создаёт массив и код привязываемый к кнопкам на фтором листе этого топика

вот так вроди коротко

motor4ik 11.01.2006 14:53

а что мешает просто создать массив изначально, а потом просто какая бы кнопка не была ты просто работаешь с этим массивом или что я не понял в чем трудность то?

3r0jan 11.01.2006 14:58

ну вот и пытаюсь но них... не получается что т вобщем когда код привязываемый к кнопке вне дубля то он работает только на кнопке в последнем дубле вот

Код:

for (var n = 0; n<6; n++) {
        my_inp = this.inp.duplicateMovieClip("this.inp"+n, this.getNextHighestDepth());
        my_inp._y = my_inp._y+(n+5)*(my_inp._height+9.5);
        my_inp.inp = "проверка "+n;
        inpin = "проверка"+n
        my_inp.k = 0;
        //кнопка в корзину
       
}
my_inp.v.onRelease = function() {
        if (tov == 1) {
                text_info = "товар уже есть в корзине. для добавления другого колличество данного товара необходимо удалить из корзины уже существующий";
        } else if (my_inp.k == 0) {
                text_info = "невозможно добавить в корзину 0 едениц товара";
        } else {
                _parent.res = AddElement(my_inp.inp+" , "+my_inp.k, "штук в корзине");
                txt = "";
                for (i=0; i<A.length; i++) {
                        txt += i+' : '+A[i].x+'  '+A[i].caption+"\n";
                }
                txt += "-----------------------------\n";
                txt2 = my_inp.k+" шт. "+my_inp.inp+" добавлено в корзину ";
                output = txt;
                text_info = txt2;
                tov = 1;
                kol = k;
        }
};
my_inp.out.onRelease = function() {
        _parent.res = DelElement(my_inp.inp+" , "+my_inp.kol);
        if (_parent.res == -1) {
                output += "нельз\xff удалить несуществующий товар!\n";
        } else {
                txt = "";
                for (i=0; i<A.length; i++) {
                        txt += i+' : '+A[i].x+'  '+A[i].caption+"\n";
                }
                txt += "-----------------------------\n";
                txt2 = "Элемент "+my_inp.inp+" удален из корзины ";
                output = txt;
                text_info = txt2;
                tov = 0
        }
};


motor4ik 11.01.2006 15:15

да, конечно, вобщем фиша в чем , ты задаешь событие только последнему дубликату...ты фор прокрутил, и когда вышел из фора my_inp содержит последний клип ,а имено this.inp5, вот к нему то ты и обращаешься, хех, т.е. надо v.onRelease прописывать всем this.inp -ам :=)

короче проще, перенеси скобку от фора вниз да ивсего делов то :=)

3r0jan 11.01.2006 15:18

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

вот погляди http://maramor.narod.ru/libero.rar

3r0jan 11.01.2006 18:33

и тишинааа =/

motor4ik 11.01.2006 18:41

unexpect file format

уж извини, на восьмеру пока не перешел...

но вообще по логике ,так уж здесь влазить в дебри не хочется, заметил несколько ошибок у тебя. пути ты используешь как то странно из функции обращаешься, почитай про пути там, _root итд, вот...а про то что последняя что тебе могу сказать быть такого не может вот и все :=)



Код:
for (var n = 0; n<6; n++) {
my_inp = this.inp.duplicateMovieClip("this.inp"+n, this.getNextHighestDepth());
my_inp.v.temp = n;
my_inp.v.onRelease = function() {
trace(this.temp);
};
}


полюбе должно выводиться при нажатии номер кнопки :=)


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

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