2011-04-27 55 views
0

我有当movieclip1拖动各国和打线则停止拖放功能,但它似乎停止整个拖拽功能即使它们没有在函数中调用,但其他影片剪辑中的swf。有人可以帮我这个。hitTestObject,stopDrag停止两个影片剪辑拖即使功能状态一个影片剪辑停止拖动

问候 牛逼

下面是代码:

function hitTest(event:Event):void 
{ 
if (movieclip1.hitTestObject(line)) 
    { 
movieclip1.stopDrag(); 
    } 
else 
    { 

    } 
} 
+0

这是有帮助的,你贴的代码,但你可能要张贴更使我们不必做出关于你的代码是怎么写的假设。例如,你可以发布开始拖动的代码吗? – jhocking 2011-04-27 14:38:23

+0

尝试用以下代替代码在'则hitTest()'函数:'VAR displayObject的:的DisplayObject =的DisplayObject(e.currentTarget); if(displayObject.hitTestObject)displayObject.stopDrag();' – Taurayi 2011-04-27 18:14:30

+0

此外,您应该将'hitTest()'函数的名称更改为'onClick()'或'onMovieClipClick()'或'clickHandler()' AS3命名约定。 – Taurayi 2011-04-27 18:16:59

回答

0

你绝对肯定你只有movieclip1的一个例如在你的舞台?绝对双重检查。你是动态创建它们,还是在SWF加载时预加载?

如果它们被预加载:
也许在测试过程中你做了一些快速拷贝,现在这些拷贝具有相同的名称,并且它们都响应相同。这是我的第一个猜测。

如果他们动态加载:
检查他们正在创建的功能。如果你在一个循环中命名它们(在上面的末尾有一个数字),请确保你正确地增加了最后使用的数字值。