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

问题描述 投票:0回答:1

好的,我嵌入了这个 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();
flash actionscript-3 timer mouse
1个回答
0
投票

不,我认为鼠标移动无济于事......

你应该带上你的计时器,每 3 秒检查一次鼠标位置,如果位置没有改变,显示它。

或者尝试每 100 秒检查一次,并始终保存之前的位置和最后一次更改的时间。

© www.soinside.com 2019 - 2024. All rights reserved.