flash as3 - 防止将对象用作dropTarget

时间:2012-08-16 20:47:57

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

有没有办法阻止flash movieclip(或其子代)被用作dropTarget?我在舞台上有一些对象,这些对象阻碍了我确定可拖动项目的基础舞台对象。

2 个答案:

答案 0 :(得分:0)

无法阻止Flash动画片段(或其子片段)被用作dropTarget。

您可以从另一端控制它:

function onMouseUp( e:MouseEvent ):void 
{
   var obj = evt.target;
   var target = obj.dropTarget;

   if( target != nonDropAreaMovieClip )
   {
        obj.stopDrag();
   }
}

或者如果您希望将obj实际放到nonDropAreaMovieClip后面的backgroundMovieClip中,您可以计算全局/本地coorinates并执行:

function onMouseUp( e:MouseEvent ):void 
{
   var obj = evt.target;
   var target = obj.dropTarget;

   if( target != nonDropAreaMovieClip )
   {
        obj.stopDrag();
        obj.x = //calculated x
        obj.y = //calculated y
        backgroundMovieClip.addChild( obj );
   }
}

答案 1 :(得分:0)

我通过创建透明的动画片段并将它们放在掉落区域上,或者通过创建一个透明对象作为最顶层的图层来防止孩子(在动画片段中)来解决类似问题成为dropTarget。