![]() |
|
||||||||||
|
|||||
|
Регистрация: Feb 2012
Сообщений: 2
|
Здравствуйте. Пишу код(я немного новичок) на AS3. застопорился на одной детали. Дословно проблема звучит так:
1) На сцене имеется мувиклип 2) Когда мышь покидает область мувика и осталавливается на n-секунд( то есть покоится за пределами мувика) он(мувик) проигрывается 1 раз. До меня не доходит как совместить события покоя мыши(которое приходится писать с танцами с бубном через координаты мыши) и нахождение мыши за пределами мувика. По отдельности - получается, вместе - начинаются глюки. Мой алгоритм, который правда не работает был такой: -вешаю событие MOUSE_OUT. -как только оно срабатывает, проводится проверка на покой мыши. -если мышь покоится - включается таймер. Но ничего не работает Или работает но по частям.Пожалуйста, если кто-то делал такую штуку, можно примерный код, или по крайней мере его часть.. Желательно без классов - приложение маленькое - не хочется усложнять код |
|
|||||
|
>>события покоя мыши(которое приходится писать с танцами с бубном через координаты мыши)
как вариант можно перезапускать таймер на MOUSE_MOVE public class Main extends Sprite { private var timer:Timer = new Timer(2000, 1); public function Main():void { var clip:Sprite = new Sprite(); clip.graphics.beginFill(0x808080); clip.graphics.drawRect(0, 0, 200, 200); addChild(clip); clip.addEventListener(MouseEvent.MOUSE_OVER, clip_mouseOver); clip.addEventListener(MouseEvent.MOUSE_OUT, clip_mouseOut); timer.addEventListener(TimerEvent.TIMER, timer_timer); } private function timer_timer(e:TimerEvent):void { // как бы событие бездействия trace( "Main.timer_timer "); stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMove); } private function stage_mouseMove(e:MouseEvent):void { timer.reset(); timer.start(); } private function clip_mouseOut(e:MouseEvent):void { stage.addEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMove); } private function clip_mouseOver(e:MouseEvent):void { timer.reset(); stage.removeEventListener(MouseEvent.MOUSE_MOVE, stage_mouseMove); } } |
|
|||||
|
ыыыы)) silin опередил))))
Но моя реализация хуже (т.к. в кадре) ибо лень было писать класс. Цитата:
Последний раз редактировалось FlashRus; 07.02.2012 в 00:31. |
|
|||||
|
Регистрация: Feb 2012
Сообщений: 2
|
silin, спасибо. Кажется то, что нужно, и главное понятно))
FlashRus, - советую работать с классами. Причин много. - Понимаю. Но пока, что руки не доходят до классов, хоть кодить и умею, не не привычно разбивать текст на мелкие детальки. Спасибо. |
![]() |
![]() |
Часовой пояс GMT +4, время: 07:14. |
|
|
« Предыдущая тема | Следующая тема » |
|
|