获得鼠标在事件上的位置

时间:2015-04-01 08:01:40

标签: actionscript-3 flash

我有两件事;鼠标上下。当左键按下时,我得到鼠标的初始位置。然后我计划在按钮释放时获得鼠标的最后位置。因此,如果存在水平移动,我可以轻松识别。然而,这是有问题的。由于我将侦听器添加到影片剪辑,因此它会在该影片剪辑的边界中获取鼠标x。我的意思是如果你在影片剪辑之外释放按钮它不起作用,因为事件附加到它。这里有转变吗?

m_c.addEventListener(MouseEvent.MOUSE_DOWN, StartPoint);
m_c.addEventListener(MouseEvent.MOUSE_UP, EndPoint);

function StartPoint(event:MouseEvent):void
{
    initX = stage.mouseX;
}

function EndPoint(event:MouseEvent):void
{
    lastX = stage.mouseX;
    trace("drop ", lastX);
    if(lastX < initX)
    {
        trace("goes left");
        .
        .
        .
     }
}

1 个答案:

答案 0 :(得分:3)

你需要将addMistener添加到舞台,最好是在MOUSE_DOWN的监听器中

function StartPoint(event: MouseEvent) : void {
    stage.addEventListener(MouseEvent.MOUSE_UP, EndPoint);

    // another code
}