FLex MouseEvent не срабатывает, когда мышь остается над элементом - PullRequest
0 голосов
/ 23 апреля 2010

Я пытаюсь создать поле с возможностью прокрутки, когда мышь входит и остается в области «оболочки», «pubsBox» перемещается на 10 пикселей влево.

<mx:Canvas id="wrapper" height="80" width="750">
    <mx:HBox id="pubsBox" horizontalGap="10" height="80" width="100%" />
</mx:Canvas>

Моя проблема в том, что я не уверен, как заставить MouseEvent.MOUSE_OVER работать, чтобы распознать, что мышь все еще включена, и поэтому pubsBox должен продолжать перемещаться на 10 пикселей влево каждую секунду.

Я понимаю, что мне нужно использовать Таймер, но меня беспокоит тот факт, что я не могу заставить Flex распознать, что мышь по-прежнему является "обёрткой", и продолжать запускать событие. Есть идеи?

1 Ответ

0 голосов
/ 23 апреля 2010

Использовать MouseEvent.MOUSE_OUT. Предположим, что мышь все еще находится над оболочкой, пока не будет запущено событие отсутствия мыши. Поэтому, по сути, вы настроите какой-то цикл, который будет непрерывно перемещать pubsBox до тех пор, пока не будет вызвано событие MouseEvent.MOUSE_OUT.

<mx:Canvas id="wrapper" height="80" width="750" mouseOver="startMove(e)" mouseOut="stopMove(e)"> <mx:HBox id="pubsBox" horizontalGap="10" height="80" width="100%" /> </mx:Canvas>

В функции startMove настройте таймер и т. Д., Чтобы логика достигла движения. В функции stopMove добавьте свою логику, чтобы остановить таймер и завершить процесс перемещения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...