![]() |
|
||||||||||
|
|||||
|
Регистрация: Aug 2010
Сообщений: 91
|
Так получилось, что SimpleButton мне не подходит - есть необходимость в намного большем числе состояний кнопки.
Создаю класс, наследую его от MovieClip, вешаю слушатели на события MouseUP, MouseDOWN, MouseOUT, MouseOVER для смены основных состояний кнопки, в которых и меняю эти состояния. Но вот если нажать на кнопку и, неотпуская кнопки мыши, переместить указатель за пределы кнопки, то состояние не изменится. Как это исправить? И еще - как сделать свойство Hit у кнопки - в некоторых состояниях кнопка будет больше, чем область, в которой она должна реагировать. |
|
|||||
|
Для этого в обработчике mouseDown нужно подписаться на mouseUp у stage.
__________________
Тут мужик танцует и поёт про флэш |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 91
|
Таймлайн используется. stage использовать никак, т.к. во первых он находится за пределами класса, а это уже нарушение принципов ООП, а во вторых, кнопка не будет лежать на stage.
|
|
|||||
|
передавайте ссылку на stage или другой дисплейобжект, который будет отрабатываться за пределами кнопки..по другому никак
__________________
http://cleptoman.free-lance.ru achivements: дважды благословлен на воровство. осеяный благодатью |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 91
|
Оказалось, что я просто сделал одинаковые состояния у кнопки
![]() А как добавить прозрачный объект Hit, если у меня состояния задаются лейблами на таймлайне и переходами по ним. А еще - есть возможность сделать так, чтобы кнопка всплыла в самый верх объекта, по отношению к его детям? |
|
|||||
|
Регистрация: Aug 2010
Сообщений: 91
|
мне вот больше нравится, когда Hit в отдельном слое. Вот думаю только как это реализовать.
|
|
|||||
|
Цитата:
2) stage - это геттер в DisplayObject. Какое ещё "нарушение ооп"?
__________________
Тут мужик танцует и поёт про флэш |
![]() |
![]() |
Часовой пояс GMT +4, время: 10:13. |
|
|
« Предыдущая тема | Следующая тема » |
|
|