![]() |
|
||||||||||
|
|||||
|
Регистрация: Mar 2012
Сообщений: 29
|
Подскажите как решить проблемку с SimpleButton. У меня есть кнопка, после её нажатия- убираю её с экрана (временно). Вывожу её вновь на экран (addChild(b)). Она проявляется вположении, как будто над ней мышь (over) (типа запомнила что была в состоянии over перед тем как мы её убрали с экрана) . Это баг во флеш?
Это можно легко обойти делая каждый раз new b, но это ведь не дело. Последний раз редактировалось Feigi; 15.03.2012 в 15:26. |
|
|||||
|
Мягко говоря SimpleButton тоже не дело, напишите свою кнопку у которой нет этого недостатка. Или используйте уже готовую.
__________________
http://www.chessmax.ru |
|
|||||
|
Регистрация: Mar 2012
Сообщений: 29
|
Если это не дело, тогда для чего существует SimpleButton?
А мне кажется, что писать по-крайней мере 2 ивента для каждой простенькой кнопки- это не дело. СПросила простой вопрос- есть ли такой баг во флеш? (похоже что да) |
|
|||||
|
Вот аналогичная проблема с решением.
Цитата:
__________________
http://www.chessmax.ru Последний раз редактировалось Inet_PC; 15.03.2012 в 16:16. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
http://flasher.ru/forum/showthread.php?t=171984
Опоздал)) И не проблема, а решение от уважаемого Силина))
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Mar 2012
Сообщений: 29
|
Понимаю, что в SimpleButton , который автоматически генерируется, есть готовый код. И по-ходу в нём есть баг. Как вам такой вариант:
package{ import flash.display.MovieClip; import flash.events.MouseEvent; public class Improved_button{ private var img:MovieClip; private var over:Function; public function Improved_button(img:MovieClip,up:Function,over_:Function=null){ this.img=img; if (over_ != null) { this.over=over; } else { this.over=over_defualt; } img.addEventListener(MouseEvent.MOUSE_OVER,over,false,0,true); img.addEventListener(MouseEvent.MOUSE_UP,up,false,0,true); } private function over_defualt(event:MouseEvent):void { img.alpha=0.5; img.addEventListener(MouseEvent.MOUSE_OUT,restore,false,0,true); } private function restore(event:MouseEvent):void { img.alpha=1; } } } |
![]() |
![]() |
Часовой пояс GMT +4, время: 12:50. |
|
|
« Предыдущая тема | Следующая тема » |
|
|