AS3拖动时自动将对象移动到另一个对象

时间:2017-07-07 09:25:59

标签: actionscript-3 flash

编辑:我的问题起初似乎有点令人困惑。看看这个SWF,你肯定会理解我的问题。 http://www.fastswf.com/AL5D5ZA 尝试拖动绿色对象(这是pDRA,红色对象是pCOMPLETE)正如您只能看到pComplete移动,但绿色框应该始终与移动时的红色框位于同一位置!

我想使用Action Script创建一个可移动对象,但是只应该拖动对象的某些区域,所以我现在有了完整的对象movieclip(pCOMPLETE)和可以拖动的对象(pDRA)

如何在拖动时“pDRA”自动移动到“pCOMPLETE”?

这是我已有的剧本:

pDRA.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);

function fl_ClickToDrag(event:MouseEvent):void
{
    pCOMPLETE.startDrag();
}

stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);
function fl_ReleaseToDrop(event:MouseEvent):void
{
    pCOMPLETE.stopDrag();
}

1 个答案:

答案 0 :(得分:0)

将pDRA和pComplete放在另一个movieClip中,以便将它们拖动到一起,然后拖动组合的MovieClip。

将拖动代码移动到新动画片段的时间轴(两个对象所在的位置):

pDRA.addEventListener(MouseEvent.MOUSE_DOWN, fl_ClickToDrag);
stage.addEventListener(MouseEvent.MOUSE_UP, fl_ReleaseToDrop);

function fl_ClickToDrag(event:MouseEvent):void
{
    this.startDrag();
}

function fl_ReleaseToDrop(event:MouseEvent):void
{
    this.stopDrag();
}