我需要在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的子項;第二個是我必須調整大小。
我在做什麼錯?
謝謝!