我在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,因为它只会拖动剪辑中的不同部分。任何帮助表示赞赏。
答案 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();
一定要尝试两者。根据您的对象和代码,这两个可能会有或可能没有不同的结果。