2014-02-06 2 views
0

나는 두 개의 영화 클립을 가지고 있는데, 하나는 ltr, 다른 하나는 ltrTarget입니다. 그들은 둘 다 서로 옆에있는 원입니다. 이건 내 코드입니다 : 내가 LTR을을 드래그합니다 및 ltrTarget 이외의 장소에 드롭 할 때, 이제Actionscript 3 - dropTarget not working

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; 
     }  
} 

, 그것은 '널'을 추적하고 정확한 원래 위치로 재설정 (startingLocation으로 다시). 그러나 그것을 ltrTarget 위에 떨어 뜨리면 '[Object Shape]'을 추적하지만 ltrTarget의 x ​​및 y 위치를 가져 오는 대신 startLocation으로 다시 재설정됩니다.

나는

trace(evt.target.dropTarget.name); 

trace(evt.target.dropTarget); 

을 변경하고 나는 그것을 ltrTarget의 더 상단을 배치하지 않을 때, 그것은 'INSTANCE1는'추적합니다. ltr의 x 및 y 위치가 ltrTarget 위에 ltr을 놓을 때 ltrTarget의 x ​​및 y 위치가되지 않는 이유는 무엇입니까?

답변

1

event.currentTarget ... 또는 심지어 직접 인스턴스를 사용하십시오. ltr