电影上的startDrag事件单击只拖动一层flash动作脚本3

时间:2010-06-29 18:44:47

标签: flash actionscript flashdevelop

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

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

这是我在MovieClip上的MouseClick事件的功能。我启动了startDrag事件,但是在这里它不会拖动整个Move Clip,因为它只会拖动剪辑中的不同部分。任何帮助表示赞赏。

1 个答案:

答案 0 :(得分: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();

一定要尝试两者。根据您的对象和代码,这两个可能会有或可能没有不同的结果。