好的,我嵌入了这个 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();
不,我认为鼠标移动无济于事......
你应该带上你的计时器,每 3 秒检查一次鼠标位置,如果位置没有改变,显示它。
或者尝试每 100 秒检查一次,并始终保存之前的位置和最后一次更改的时间。