0

我在 AS3 中使用的 startDrag 函数有问题。现在我有一个由 4 个不同层组成的影片剪辑。我导出影片剪辑,创建它的对象,添加一个用于调用 startDrag 函数的鼠标单击事件侦听器。但是,它不会拖动整个影片剪辑及其所有部分,而是仅抓取并拖动一层,从而将影片剪辑的不同部分分解。

public function HopperMouseDown(event:MouseEvent):void
{
   event.target.startDrag(true); //start dragging tile
   // mSoundManager.PlayTileUp(); //play tile up sfx
}

这是我在 MovieClip 上的 MouseClick 事件的函数。我启动了 startDrag 事件,但由于某种原因它不会拖动整个移动剪辑,它只会拖动剪辑内的不同部分。任何帮助表示赞赏。

4

1 回答 1

0

最简单和基本的答案可能是您需要将 startDrag() 函数应用于对象。由于您希望所有对象/图层都使用此功能,因此建议您使用

//applies the startDrag method to everything that's on the stage
stage.startDrag();

或者

//applies the startDrag method to everything within the class you're working in 
//(or maybe in few cases the parent function, I'm not completely sure)
this.startDrag();

一定要尝试它们。这两个可能有也可能没有不同的结果,具体取决于您的对象和代码。

于 2011-06-09T10:13:41.433 回答