2014-02-06 52 views
0

我有兩個movieclip,一個叫做ltr,另一個叫做ltrTarget。他們都是彼此相鄰的圈子。這是我的代碼:Actionscript 3 - dropTarget不工作

import flash.geom.Point; 

ltr.addEventListener(MouseEvent.MOUSE_DOWN, pickup); 
ltr.addEventListener(MouseEvent.MOUSE_UP, place); 

var startingLocation = new Point(); 

function pickup(evt:MouseEvent):void { 
    startingLocation.x = evt.target.x; 
    startingLocation.y = evt.target.y; 
    evt.target.startDrag(); 
} 

function place(evt:MouseEvent):void { 
     evt.target.stopDrag(); 
     trace(evt.target.dropTarget); 

     if (evt.target.dropTarget == ltrTarget) { 
      evt.target.x = ltrTarget.x; 
      evt.target.y = ltrTarget.y; 

     } else { 
      evt.target.x = startingLocation.x; 
      evt.target.y = startingLocation.y; 
     }  
} 

現在,當我DRAP LTR,並將其放到比ltrTarget其他的地方,它的痕跡「空」和重置爲初始位置(復位到startingLocation),這是正確的。但是,當我將它放在ltrTarget之上時,它將跟蹤'[object Shape]',但它仍會重置爲startsLocation,而不是採用ltrTarget的x和y位置。

我改變

trace(evt.target.dropTarget); 

trace(evt.target.dropTarget.name); 

,當我把它沒有ltrTarget的頂部,它的痕跡 'INSTANCE1'。 當我將ltr放在ltrTarget之上時,ltr的x和y位置如何不會變成ltrTarget的x和y位置?

回答

1

使用event.currentTarget ...甚至直接情況.. ltr