![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
|
|||||
|
Регистрация: May 2011
Сообщений: 76
|
Всем привет.
Есть задача: Написать кнопку которая модифицирует значение в текстовом поле при: обычном клике, при зажимании кнопки мыши. В плеш флеере работает прекрасно. У меня следующая проблема: Когда флешка имбедится в браузер, если вместо обычного клика сделать двойной клик, то происходит эффект "залипания" и все происходит так, будто кнопка зажата. count_up_bt.addEventListener(MouseEvent.MOUSE_DOWN, countButtonMouseDown); private function countButtonMouseDown(e:MouseEvent): void { trace("countButtonMouseDown"); ModifyCountNumber(e); //Remove old listeners e.currentTarget.removeEventListener(MouseEvent.MOUSE_DOWN, countButtonMouseDown); //Add new listeners e.currentTarget.addEventListener(MouseEvent.MOUSE_OUT, countButtonMouseUp); e.currentTarget.addEventListener(MouseEvent.MOUSE_UP, countButtonMouseUp); e.currentTarget.addEventListener(Event.ENTER_FRAME, countButtonEnterFrame); } private function countButtonMouseUp(e:MouseEvent): void { trace("countButtonMouseUp"); //Remove old listeners and reset couter; e.currentTarget.removeEventListener(MouseEvent.MOUSE_OUT, countButtonMouseUp); e.currentTarget.removeEventListener(MouseEvent.MOUSE_UP, countButtonMouseUp); e.currentTarget.removeEventListener(Event.ENTER_FRAME, countButtonEnterFrame); trace("Removed EnterFrameEvent") enterFrameCounter = 0; //Add new listeners e.currentTarget.addEventListener(MouseEvent.MOUSE_DOWN, countButtonMouseDown); } var enterFrameCounter:uint = 0; private function countButtonEnterFrame(e:Event):void { //if counter uninitialized then initialize. if (enterFrameCounter == 0) { enterFrameCounter = 1; } if (enterFrameCounter == 6 || enterFrameCounter == 12 || enterFrameCounter == 18 || enterFrameCounter == 24) { ModifyCountNumber(e); enterFrameCounter++; } else if (enterFrameCounter == 25){ enterFrameCounter = 1; } else { enterFrameCounter++; } } ModifyCountNumber(e:Event):void { Значение в некотором текстовом поле модицифируется на какое-то значение однажды } Пример трейса при 2 кликах сделанных не чаще чем через 1 сек.: Removed EnterFrameEvent countButtonMouseUp countButtonMouseDown Removed EnterFrameEvent countButtonMouseUp countButtonMouseDown Пример трейса при 2 кликах сделанных не реже чем через 0.5 сек.: countButtonMouseDown Removed EnterFrameEvent countButtonMouseUp countButtonMouseDown Removed EnterFrameEvent countButtonMouseUp countButtonMouseDown (да, да в этом случае от куда-то генерируется 3 клика) Вопрос: как избавится от этого бага? Последний раз редактировалось searinox; 19.09.2011 в 18:57. Причина: Добавлен трейс |
![]() |
Часовой пояс GMT +4, время: 09:42. |
|
|
« Предыдущая тема | Следующая тема » |
|
|