在MOUSE_OVER上设置延时功能

时间:2012-05-27 18:51:24

标签: actionscript-3 flash-cs5 mouseover kinect motion-detection

我想使用 xbox kinect 来运行带有运动传感器的Flash应用程序,我有一个简单的软件来执行移动鼠标和单击的功能。遗憾的是,没有用一只手完成,右手移动鼠标并单击左手命令。我希望只用一只手就可以完成。我的想法是用鼠标功能取代鼠标点击功能,只要延迟延长,可以做到吗?请帮我如何设置为AS3,关键字是鼠标悬停在按钮上时的延迟时间(前三秒),以便应用程序可以正常运行闪存。或任何建议或任何其他方式给我?

1 个答案:

答案 0 :(得分:4)

像这样轻松完成,如果你有超过1个按钮,可能想要调整它,但如果是这样的话很容易调整。

var timer:Timer = new Timer(3000);
timer.addEventListener(TimerEvent.TIMER, onTimerTickHandler);

button.addEventListener(MouseEvent.ROLL_OVER, _onRollOverHandler);
button.addEventListener(MouseEvent.ROLL_OUT, _onRollOutHandler);

private function _onRollOverHandler(e:MouseEvent):void
{
   timer.start();
}

private function _onRollOutHandler(e:MouseEvent):void
{
    timer.reset();
}

private function _onTimerTickHandler(e:TimerEvent):void
{
    timer.reset();

    // do something
}

希望有所帮助。

编辑:我使用MouseEvent.ROLL_OVER / MouseEvent.ROLL_OUT的原因是因为这样你会遇到很多问题,如果你想知道确切的话,请查看文档区别。祝你的项目好运。