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

Ulya 23.08.2006 18:32

Обработчики массива динамических кнопок
 
Народ, помогите, пожалуйста.
Есть массив кнопок, нужно примотать ко всем обработчик, зависящий от номера кнопки. Грубо говоря по кнопке с индексом 0, чтоб появлялся текст "Текст 0".

Код:

function f(i) {
        trace("Функция №"+i);
}

и цикл
Код:

i = 0;
do {
        _root["bt_" + i].onRelease = function () {
                f (i);
        };
        i++;
} while (i < 10);

Цикл крутицца, но на все кнопки лепит обработчик для последнего значения индекса. Т.е. для всех кнопок выводит Функция №10.
Что не так??? Подскажите плиз. Заранее спасибо.

iNils 23.08.2006 18:37

прочитайте пункт 3 (остальные тоже почитайте для общего развития) правил подраздела http://www.flasher.ru/forum/showthread.php?t=79864 и приведите ваш текст в надлежащий вид.

Ulya 23.08.2006 18:39

хорошо, буду знать, спасибо.

iNils 23.08.2006 18:44

Код:

function f () {
        trace ("Функция №" + this.i);
}
i = 0;
for (var i = 0; i < 10; i++) {
        _root["bt_" + i].onRelease = f;
        _root["bt_" + i].i = i;
}


Ulya 23.08.2006 18:49

Nils, спасибо большое-большое, работает! я поняла в чем дело.

etc 23.08.2006 20:32

i = 0; лишнее

Ulya 24.08.2006 11:14

это от моего цикла осталось

iNils 24.08.2006 11:46

Цитата:

Сообщение от Ulya
это от моего цикла осталось

угу...

Ulya 24.08.2006 14:31

Я опять к вам. Мне нужно ещё, чтобы кнопка удалялась со сцены после её нажатия.
Допустим, переписываем функцию
Код:

function f () {
        trace ("Функция №" + this.i);
            this.clear();}

Но кнопка не удаляется.
Пробовала updateAfterEvent() -не помогает.
removeMovieClip тоже не удаляет. Что нужно делать в этом случае?
Простите з ламерство, мы когда-нить научимся =)

etc 24.08.2006 14:41

Код:

function f () {
        trace ("Функция №" + this.i);
        this.swapDepths(100);
        this.removeMovieClip();



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

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