【问题标题】:Actionscript 3 - dropTarget not workingActionscript 3 - dropTarget 不工作
【发布时间】:2014-02-06 18:47:25
【问题描述】:

我有两个影片剪辑,一个称为 ltr,另一个称为 ltrTarget。它们都是彼此相邻的圆圈。这是我的代码:

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

现在,当我将 ltr 拖放到 ltrTarget 以外的位置时,它会跟踪“null”并重置到其原始位置(重置到 startingLocation),这是正确的。但是,当我将它放在 ltrTarget 上时,它会跟踪“[object Shape]”,但它仍会重置回 startingLocation,而不是采用 ltrTarget 的 x 和 y 位置。

我变了

trace(evt.target.dropTarget);

trace(evt.target.dropTarget.name);

当我将它放在 ltrTarget 的顶部时,它会跟踪“instance1”。 当我将ltr放在ltrTarget顶部时,ltr的x和y位置为什么不会变成ltrTarget的x和y位置?

【问题讨论】:

    标签: actionscript-3 drag-and-drop droptarget


    【解决方案1】:

    使用event.currentTarget ...甚至直接实例..ltr

    【讨论】:

      猜你喜欢
      • 2011-04-29
      • 2011-03-26
      • 2015-09-03
      • 1970-01-01
      • 2011-03-31
      • 2018-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多