5个回答
展开全部
你想要假如说30秒之内鼠标没动过就重置的话可以这样:
建立一个计时器Timer,设定倒计时30000ms(30秒),添加倒计时事件,在其中添加你需要重置的操作
创建一个函数resetTimer,作用是重置timer,重新开始计时
然后侦听,stage的MouseEvent.MOUSE_MOVE 事件,在事件方法中调用resetTimer
也就是说在Timer倒计时内鼠标没动过,timer会一直倒计时,直到时间结束触发你想要的操作,否则鼠标一动timer就重新开始计时
建立一个计时器Timer,设定倒计时30000ms(30秒),添加倒计时事件,在其中添加你需要重置的操作
创建一个函数resetTimer,作用是重置timer,重新开始计时
然后侦听,stage的MouseEvent.MOUSE_MOVE 事件,在事件方法中调用resetTimer
也就是说在Timer倒计时内鼠标没动过,timer会一直倒计时,直到时间结束触发你想要的操作,否则鼠标一动timer就重新开始计时
更多追问追答
追问
那可以理解为是在原来定时重置文件的基础上,直接加上侦听舞台的鼠标移动事件吗?
stage.addEventListener(MouseEvent.MOUSE_MOVE,onmouse);
function onmouse(evt:MouseEvent):void{
resetTimer();
}
追答
是的
展开全部
//给你段伪代码
var timer :Number = getTimer();
var mouseMoveTime:Number = 0;
start();
function start():void
{
mouseMoveTime = timer ;
addEventLinster()//监听移动事件(用来移动时更改时间戳),监听帧事件,用来验证
}
stage监听MouseEvent.MOUSE_MOVE
function onMouseMove():void
{
mouseMoveTime= getTimer();
}
function enterFrame():void
{
timer = getTimer();
//
timer - mouseMoveTime- //相差的差值。。大于500毫秒或者。。更大时可以重置
}
var timer :Number = getTimer();
var mouseMoveTime:Number = 0;
start();
function start():void
{
mouseMoveTime = timer ;
addEventLinster()//监听移动事件(用来移动时更改时间戳),监听帧事件,用来验证
}
stage监听MouseEvent.MOUSE_MOVE
function onMouseMove():void
{
mouseMoveTime= getTimer();
}
function enterFrame():void
{
timer = getTimer();
//
timer - mouseMoveTime- //相差的差值。。大于500毫秒或者。。更大时可以重置
}
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
定时之前记录一个Point 鼠标当前X Y值 然后开始计时,if判断到某个时间的point是否和之前的记录值 一致
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
侦听stage的MouseEvent.MOUSE_MOVE 事件,在事件方法中进行定时重置
或者侦听别的你指定的对象
或者侦听别的你指定的对象
追问
可是怎么侦听到它没动呢?
追答
没动不会触发事件
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
2012-11-06
展开全部
定时重置是调用Timer嘛
那你就在鼠标移动事件中 不断去调用Timer的 reset() 和 start事件啰
那你就在鼠标移动事件中 不断去调用Timer的 reset() 和 start事件啰
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询