当其中一个停止拖动时,如何检测双重拖动?

时间:2016-07-06 03:17:32

标签: android actionscript-3 flash

我有2个动画片段。我希望玩家可以同时控制这两个。我希望如果玩家停止拖动其中一个,另一个仍然可以由玩家控制,而另一个则不然。我怎么能这样做?

这是我的代码:

var _action1:Boolean = false;
var _action2:Booelan = false;

button1.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
button1.addEventListener(MouseEvent.MOUSE_UP, mouseUp);

button2.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
button2.addEventListener(MouseEvent.MOUSE_UP, mouseUp);
button2.addEventListener(MouseEvent.MOUSE_OUT, mouseOut); // to detect if press is out of range

function mouseDown(e:MouseEvent): void {
    if (e.target == button1) {
        _action1 = true;
    }
    if (e.target == button2) {
        _action2 = true;
    }

function mouseUp(e:MouseEvent): void {
    if (e.target == button1) {
        _action1 = false;
    }
    if (e.target == stage) {
        _action1 = false;
    }
    if (e.target == button2) {
        _action2 = false;
    }

function mouseOut(e:MouseEvent): void {
    _action2 = false;
}

我已尝试使用该代码,但效果不佳,我无法控制它们(button1button2)。

+ 我希望我的应用程序适用于android。我在我的android上尝试了,我可以使用MouseEvent方法控制按钮。但我只能在按钮上使用单一控件。因此,如果我想控制另一个按钮,我必须执行MOUSE_UP,然后对我想要控制的按钮执行MOUSE_DOWN

1 个答案:

答案 0 :(得分:1)

我想到的一种方法是允许用户根据按键指示要拖动哪些影片剪辑。例如,如果按下A键,则会拖动影片剪辑1,如果按下Z键,则会拖动影片剪辑2。然后,用户可以按住两个键来拖动两个影片剪辑,如果用户释放一个键,则相应的MovieClip将停止拖动。