2016-05-23 17 views
0

ゲームをドラッグアンドドロップして複数のドラッグ可能なオブジェクトを作成し、複数のターゲットにドラッグすることができます。しかし、私は特定のターゲットオブジェクトに選択した最初のオブジェクトをドラッグしてターゲットにドラッグしないでドラッグし、別のターゲットにドラッグして成功させるとエラーが発生しました。私はそれを修正したい。オブジェクトをターゲットにドラッグして別のオブジェクトに置きたいときに修正できれば、ドラッグされたオブジェクトは置き換えられ元の位置に戻されます。AS3エラー複数のドラッグ可能なオブジェクトを複数のターゲットにドラッグ&ドロップする

これは、プログラム

enter image description here

概要であり、これは私がのaddListener機能を置くことによってドラッグ可能なオブジェクトを使用してい

var xPos:int; 
var yPos:int; 
var poin:int = 0; 
var namaobj1:String; 
var namaobj2:String; 

addListeners(membaca, menulis, berenang, sepakbola, melukis, memasak, menari, bercocoktanam, beladiri, bermainmusik); 

proses.addEventListener(MouseEvent.CLICK,proses1); 


function getPosition(target:Object):void 
{ 
    xPos = target.x; 
    yPos = target.y; 
} 

function dragObject(e:MouseEvent):void 
{ 
    getPosition(e.target); 

    e.target.startDrag(true); 
} 

function stopDragObject(e:MouseEvent):void 
{ 
    if (e.target.hitTestObject(getChildByName("target2"))) 
    { 
     e.target.x = getChildByName("target2").x; 
     e.target.y = getChildByName("target2").y; 
     namaobj2 = e.target.name; 
    } 

    else if (e.target.hitTestObject(getChildByName("target1"))) 
    { 
     e.target.x = getChildByName("target1").x; 
     e.target.y = getChildByName("target1").y; 
     namaobj1 = e.target.name; 
    } 
    else 
    { 
     e.target.x = xPos; 
     e.target.y = yPos; 
    } 


    pil1.text = namaobj1; 
    pil2.text = namaobj2; 


    e.target.stopDrag(); 

} 

function addListeners(... objects):void 
{ 
    for (var i:int = 0; i < objects.length; i++) 
    { 
     objects[i].addEventListener(MouseEvent.MOUSE_DOWN, dragObject); 
     objects[i].addEventListener(MouseEvent.MOUSE_UP, stopDragObject); 
    } 
} 

を使用したソースコードです。

は、私はまた、あなたがオブジェクトをドラッグする代わりに、あなたの目標にMOUSE_UPイベントを追加することができ、彼.FLAはこちら(TEST.FLA)ダウンロードすることができ、むしろ、あなたがより簡単に固定適用できますコード

答えて

0

が含まれます。次に、MOUSE_UPイベントがトリガーされると、どのオブジェクトがターゲット(eターゲット)であり、hitTestObjectなしであるかがわかります。コードは次のようになります。

ドラッグしたオブジェクトのmouseEnabledをマウスの下に、ドラッグした後にtrueに設定する必要があります。

+0

正しいコードを入力できますか? –

関連する問題