Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   как создать кнопку с семью состояниями? (http://www.flasher.ru/forum/showthread.php?t=157361)

Dukobpa3 04.06.2011 20:23

Цитата:

то мне придётся либо в каждой кнопке установить по три слушателя (MOUSE_OVER , MOUSE_OUT, MOUSE_UP),
проблема то в чем я не пойму? Есть класс КНОПКА_С_СОСТОЯНИЯМИ. Очевидно и нормально что она будет слушать события мыши. Как минимум для того чтобы иметь возможность поменять свой внешний вид. Но наружу будет диспатчить что-то свое (хотя может и маус_ап, или маус_клик)

Цитата:

при этом слушателей будет очень много. Либо передать эти функции вышестоящему меню, но тогда класс кнопки вовсе будет не нужен. Меню будет говорить каждой кнопке в каком из семи состояний ей быть, что по-моему, очень неудобно.
Конечно неудобно, вот я и сказал в самом начале создать для такой вот крутой кнопки свой класс.

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

goodguy 04.06.2011 20:32

Цитата:

и насколько меньше памяти будет тратиться на использование двух Simple Button
Об этом потреблении памяти можно даже не задумываться. Оно ничтожно.

filepark 04.06.2011 21:10

Классы я писать не боюсь, я хотел узнать, как это делают другие, более опытные. То что я из дерьма конфету слупил, я и сам знаю, потому и в форум обратился (но так удобно вышло :-), и ни кто же не сказал почему дерьмо).

У меня создаётся впечатление, что мы не понимаем друг друга, Вы цитируете мои слова в противоположных смыслах (не только в последнем посте).

Тема свелась к вопросу, что делать? Класс кнопки с тремя слушателями (что накладно, разве нет?) или эти три слушателя прописать в классе меню и управлять всеми “over-out” кнопки из меню (что неудобно)? Я выбираю управление из меню - слушателей три, а не три десятка.

Dukobpa3 04.06.2011 21:12

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

Добавлено через 2 минуты
Высказывание про пулю касалось накладывания симплбатонов один на другой. Так как в данной ситуации тут явно проще и удобнее и лучше именно семикадровый мувик, либо же пачка из семи спрайтов в оболочке, тут уж от предпочтений зависит. Мои предпочтения устремляются в сторону семи спрайтов (картинок)

filepark 04.06.2011 21:22

goodguy, так это же и есть главный мой вопрос!!! Накладно ли будет, если я пропишу слушатели (MOUSE_OVER , MOUSE_OUT, MOUSE_UP) в КАЖДОЙ кнопке, коих несколько десятков (т.е. в её классе). Если влияние этих слушателей ничтожно, Аллилуйя!!!, я нашёл, что искал!

Резюме: имеет ли значение сколько слушателей мышиных событий в проге три или тридцать?

Wolsh 04.06.2011 22:09

Цитата:

Накладно ли будет, если я пропишу слушатели (MOUSE_OVER , MOUSE_OUT, MOUSE_UP) в КАЖДОЙ кнопке, коих несколько десятков
Я не понимаю, какая разница сколько? Вы собираетесь расширить мышь и наехать сразу на десять кнопок? (Вы кстати забыли про MOUSE_DOWN?) Или Вас беспокоит, что в некоем массиве будет два десятка ячеек? Флэш не настолько неповоротлив, он и с тысячами неплохо справляется. Dukobpa3 просто не смог даже представить, что Вас это заботит. Он боролся с Вашими симплБатонами и альтернативной идеей с управлением из класса меню, которая просто ни в какие ворота не лезет. Делайте семь стейтов из ДисплейОбжектов, вешайте 400 слушателей если надо (я ни раз писал кнопки с анимацией плавных переходов стейтов по Таймеру, там намного больше слушателей, нежели 4), и будет Вам счастье и удобная многоразовая кнопка.

filepark 04.06.2011 22:17

Искреннее спасибо ответившим! Мозг воспринял! :victory:


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

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