Слушатель событий перемещения мыши Flash AS3 и объект таймера - PullRequest
0 голосов
/ 16 февраля 2011

Хорошо, у меня встроена эта 100% ширина / высота Flash, и когда пользователь перемещает мышь, я хочу отобразить панель, которая исчезает через x секунд, если больше нет движения мыши.

Я думаю, что янужен addEventListener, но я не уверен, что MOUSE_MOVE правильный.Когда мышь перестает двигаться, мне нужно запустить x секунд, чтобы скрыть панель, так что я думаю с таймером?

Так что у меня есть это:

stop();

panel_mc.visible = false;

var myTimer:Timer = new Timer(3000, 1);
myTimer.addEventListener(TimerEvent.TIMER_COMPLETE, timerHandler);

function showPanel(e:Event):void {
    panel_mc.visible = true;
    myTimer.start();
}
function timerHandler(e:TimerEvent):void {
    panel_mc.visible = false;
}

stage.addEventListener(MouseEvent.MOUSE_MOVE, showPanel);

Это работает, вроде, нокогда я перемещаю мышь более чем на 3 секунды, у меня на панели появляется маленькая вспышка (скрыть - показать)

Любые исправления или лучший способ приветствуются, ура

РЕДАКТИРОВАТЬ Я избавился от глюка, добавив сброс перед началом, как это:

myTimer.reset();
myTimer.start();

1 Ответ

0 голосов
/ 16 февраля 2011

Нет, движение мыши не поможет, я думаю ...

Вы должны взять свой таймер и проверять положение мыши каждые 3 секунды, а если положение не изменилось, показать его.

Или попробуйте проверять каждые 100 секунд и всегда сохраняйте предыдущую позицию и последний раз, когда она менялась.

...