2016-07-06 6 views
-1

私は2つのムービークリップを持っています。私は、プレイヤーがそれらの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を実行してください。

+0

ちなみに、 'button1'と' button2'は 'Button'ではなく' MovieClip'です。 – Gregorio

+0

[同時3のマルチタッチで2つのオブジェクトを同時にドラッグする]の可能な複製(http://stackoverflow.com/questions/27136960/simultaneous-drag-two-objects-with-multitouch-in-as3) –

答えて

0

ユーザーがキーを押すとドラッグするムービークリップを指定できるようにする方法があります。例えば、Aキーが押された場合はムービークリップ1がドラッグされ、Zキーが押された場合はムービークリップ2がドラッグされます。次に、両方のキーを押して両方のムービークリップをドラッグすると、ユーザーが1つのキーを離した場合、それぞれのムービークリップがドラッグを停止します。

+0

私はそれは 'アンドロイド'の携帯電話で、私は 'MouseEvent'メソッドを使用して、私を助けてください。 – Gregorio

+0

マウスがないので、MouseEventはアンドロイドデバイスには適用されません。代わりにTouchEventを使用してください。 –

+0

私はこのコードを自分の 'android'の携帯電話で試してみましたが、' MovieClip'を制御できますが、他の1つを制御したい場合は 'MOUSE_UP'のように' MOUSE_DOWN'を私が制御したいものに置き換えます。 – Gregorio

関連する問題