我需要在AS3中开发自己的拖动函数(而不是使用startDrag),因为我正在调整MovieClip的大小。
我正在做这个:
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的子级;第二个是我必须调整大小的。
我做错了什么?
谢谢!
发布于 2011-09-30 17:36:23
谢谢你的回答,但我找到了一个很棒的课程来做我想做的事情。
http://www.senocular.com/index.php?id=1.372
http://www.quietless.com/kitchen/transform-tool-drag-scale-and-rotate-at-runtime/
https://stackoverflow.com/questions/7567284
复制相似问题