我需要在AS3中开发自己的拖动功能(而不是使用startDrag
),因为我正在调整MovieClip的大小。自己在AS3中的拖动功能
我这样做:
public class resizeBR extends MovieClip {
var initialScaleX, initialScaleY;
public function resizeBR() {
this.addEventListener(MouseEvent.MOUSE_DOWN, initResize);
this.addEventListener(MouseEvent.MOUSE_UP, stopResize);
}
public function initResize(e:MouseEvent):void
{
initialScaleX = e.target.scaleX;
initialScaleY = e.target.scaleY;
e.target.addEventListener(MouseEvent.MOUSE_MOVE, startResize);
}
public function startResize(e:MouseEvent):void
{
e.target.x += e.localX;
e.target.y += e.localY;
e.target.parent.parent.width += mouseX;
e.target.parent.parent.height += mouseY;
// Keep its own scale
e.target.scaleX = initialScaleX;
e.target.scaleY = initialScaleY;
}
public function stopResize(e:MouseEvent):void
{
e.target.removeEventListener(MouseEvent.MOUSE_MOVE, startResize);
}
}
但拖动功能不流利工作。我的意思是,当我从类resizeBR
拖动一个MovieClip时,我需要慢慢移动鼠标光标,否则它不会起作用。
resizeBR
是MovieClip作为另一个MovieClip的子项;第二个是我必须调整大小。
我在做什么错?
谢谢!