如何确保鼠标事件只能根据动作脚本3中的命令检测影片剪辑?

时间:2016-11-11 13:40:32

标签: actionscript-3

我试图找出如何对影片剪辑进行操作,只能根据影片剪辑顺序进行检测。

按照我的代码:

    test1.addEventListener (MouseEvent.MOUSE_DOWN, test1OnClick);

    function test1OnClick (e:MouseEvent) : void
    {
        var currentMC:MovieClip = MovieClip (e.target);
        .....
    }

    test2.addEventListener (MouseEvent.MOUSE_DOWN, test2OnClick);
    function test2OnClick (e:MouseEvent) : void
    {
        var currentMC:MovieClip = MovieClip (e.target);
        .....
    }

我想确保用户只能继续点击影片剪辑" test2"完成" test1"。

1 个答案:

答案 0 :(得分:2)

使用

test1.removeEventListener(MouseEvent.MOUSE_DOWN, test1OnClick);

当用户完成测试1时。

如果您希望一次只能单击一个,请不要添加test2侦听器,直到删除test1侦听器。它可能看起来像这样

test1.addEventListener (MouseEvent.MOUSE_DOWN, test1OnClick);

function test1OnClick (e:MouseEvent) : void
{
    var currentMC:MovieClip = MovieClip (e.target);
    test1.removeEventListener(MouseEvent.MOUSE_DOWN, test1OnClick);
    test2.addEventListener (MouseEvent.MOUSE_DOWN, test2OnClick);
    .....
}


function test2OnClick (e:MouseEvent) : void
{
    var currentMC:MovieClip = MovieClip (e.target);
    .....
}

或者你可以像这样做一些更复杂的事情

var currentMC:MovieClip;
stage.addEventListener(MouseEvent.MOUSE_DOWN, mouseClick);

private function mouseClick(e:MouseEvent):void{
    currentMC = e.target as MovieClip;
        //...
    }
}

现在你不需要为每个测试单独的功能。如何准确地实现这取决于你放在...中的内容。