Flash AS3鼠标移动事件监听器和Timer对象

时间:2011-02-15 23:58:05

标签: flash actionscript-3 timer mouse

好的我已经嵌入了这个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 :(得分:0)

不,鼠标移动对我来说无济于事......

您应该每3秒检查一次计时器并检查鼠标位置,如果位置没有改变,请显示它。

或者尝试每100秒检查一次,并始终保存上一个位置和上次更改的位置。