![]() |
SimpleButton как сбрасывать состояние Over
Замечено, если удалить SimpleButton со сцены, в тот момент, когда над ним находится указатель мыши (состояние Over), а затем переместить указатель в другое место и вновь добавить кнопку SimpleButton на сцену, у этой кнопки так и останется состояние over, пока указатель мыши снова не пройдет над этой кнопкой.
Как программно сбрасывать состояние в зависимости от того находится ли указатель мыши над кнопкой или нет? |
Может стоит создавать новый инстанс?
Состояние over "сбрасывается", когда кнопка получает событие MouseEvent.MOUSE_OUT. Если до прохождения этого события убрать кнопку, увести мышку, и снова сделать кнопку видимой - не вижу ничего странного, что кнопка, не обработав никаких событий смиренно ждёт новых приказов оставаясь в последнем указанном ей состоянии. |
Что значит создать новый инстанс? (не понял термин) Есть ли какие-нибудь готовые или универсальные решения, для того, чтоб программно сбросить состояние кнопки? Кто как делает?
|
Как вариант, делать кнопке mouseEnabled = false, а за тем, через фрейм или 1 мс удалять со сцены. За это время, в следующем тике, эта кнопка получит событие о том, что мышка ушла с объекта и её состояние будет дефолтным. После этого, можно добавлять и все будет гуд. Не забудь вернуть mouseEnabled = true.
|
для программного "сброса" можно попробовать SimpleButton.dispatchEvent(new MouseEvent(MouseEvent.MOUSE_OUT); Это как бы съэмитирует убирание курсора с кнопки.
|
Roman_Konyukhov создать новый инстанс, это значит создать новый экземпляр класса, т.е. его объект. В данном случае класс SimpleButton. Если на старую кнопку не где не храниться ссылка, то сборщик мусора удалит её из памяти и все будет хорошо.
|
Если класс не имеет необходимого функционала, нужно не костыли плодить, а расширить компонент и добавить нужный функционал в него. А если это невозможно или опять же костыльно, то написать свой компонент, и опыт, и в будущем пригодится. Написать свою кнопку ничего сложно. Можно посмотреть как это реализовано в других библиотеках.
|
даже не знаю что вы делаете с кнопкой что она так себя ведет. В простейшем примере когда при наведении кнопка удаляется/скрывается и потом обратно добавляется/становится_видимой состояние у неё вполне нормальное (по крайней мере у меня так)
|
упражнения с бубном дали таки способ
кнопка удаляется\добавляется по любой клавише Код AS3:
|
Спасибо за помощь.
|
| Часовой пояс GMT +4, время: 08:31. |
Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.