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

trigger 07.10.2011 14:15

Наиболее эффективная деактивация кнопки после нажатия
 
Есть несколько кнопок (2-6 шт.). После нажатия на одну из них хочу отключить возможность последующих нажатий для всех кнопок набора. Сейчас сделано так:

Код AS1/AS2:

// Запрет повторного нажатия
for (var name in _root.answers_cont)
{
        if (typeof (_root.answers_cont[name]) == "movieclip")
        {
                  /*Вариант №1*/
                _root.answers_cont[name].enabled = false;
 
                  /*Вариант №2*/
                delete _root.answers_cont[name].onPress;
                delete _root.answers_cont[name].onRollOut;
                delete _root.answers_cont[name].onRollOver;
        }
}

Какой из вариантов быстрее, может быть можно как-нибудь оптимизировать цикл?

Котяра 07.10.2011 15:28

Лучше предварительно поместить ссылки на эти кнопки в массив и обходить уже его.
А enable = false и удаление обработчиков - это разные операции.
В случае удаления, потом придётся опять устанавливать все обработчики.

trigger 07.10.2011 16:01

Цитата:

Сообщение от Котяра (Сообщение 1037644)
Лучше предварительно поместить ссылки на эти кнопки в массив и обходить уже его.
А enable = false и удаление обработчиков - это разные операции.

я это понимаю - после нажатия на одну из кнопок мне больше не нужны события на всех кнопках

Добавлено через 36 секунд
про массив ссылок - спасибо

dark256 07.10.2011 16:59

Код AS1/AS2:

for ( var Q in там_где_лежат_кнопки ) там_где_лежат_кнопки [Q].enable = false



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

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