鼠标的搬动事件。高手们进来帮帮小弟
鼠标的移动事件。高手们进来帮帮小弟!
stage.addEventListener(MouseEvent.MOUSE_MOVE,moves);
function moves(e:Event)
{
trace(" 鼠标坐标X:"+mouseX);
}
谁都知道这是一个当鼠标移动的时候输出鼠标的X坐标,但是可不可以,鼠标移动的时候不输出,当鼠标移动后停下来的时候输出一次当前鼠标的坐标。
例如:
鼠标,从A点到B点,两点之间的距离是(100),用上面的发用上面的方法就会输出一百次。
能不能当鼠标从A点移动到B点的时候,只输出两个坐标。
谢谢高手帮忙!
------解决思路----------------------
楼主不要到处都发啊。这个不难,给你写了一个,用帧的监听写的,也可以用timer。
stage.addEventListener(MouseEvent.MOUSE_MOVE,moves);
function moves(e:Event)
{
trace(" 鼠标坐标X:"+mouseX);
}
谁都知道这是一个当鼠标移动的时候输出鼠标的X坐标,但是可不可以,鼠标移动的时候不输出,当鼠标移动后停下来的时候输出一次当前鼠标的坐标。
例如:
鼠标,从A点到B点,两点之间的距离是(100),用上面的发用上面的方法就会输出一百次。
能不能当鼠标从A点移动到B点的时候,只输出两个坐标。
谢谢高手帮忙!
------解决思路----------------------
楼主不要到处都发啊。这个不难,给你写了一个,用帧的监听写的,也可以用timer。
import flash.events.Event;
import flash.events.MouseEvent;
var temp:Object = new Object();
var boo:Boolean = false;
stage.addEventListener(MouseEvent.MOUSE_MOVE,moveEvt);
function moveEvt(e)
{
if (!hasEventListener(Event.ENTER_FRAME))
{
trace(stage.mouseX,stage.mouseY)
boo = true
addEventListener(Event.ENTER_FRAME,entEvt);
}
}
function entEvt(e)
{
if (temp.x == stage.mouseX && temp.y == stage.mouseY && boo)
{
trace(temp.x,temp.y);
removeEventListener(Event.ENTER_FRAME,entEvt);
boo = false;
}
temp.x = stage.mouseX;
temp.y = stage.mouseY;
}