as3使用scrollRect来实现内容滚动

以前一直用sprite套sprite实现滚动......今天发一个清爽一点的....

package {
    
    import flash.display.Sprite;
    import flash.geom.Rectangle;
    import flash.events.MouseEvent;
    import flash.events.Event;
    
    public class SampleScrollRect extends Sprite {
        private var circle : Sprite;
        private var slider : Sprite;
        
        public function SampleScrollRect() {
            circle = new Sprite();
            circle.graphics.beginFill(0xFFCC00);
            circle.graphics.drawCircle(200, 200, 200);
            circle.scrollRect = new Rectangle(0, 0, 200, 200);
            addChild(circle);
            
            slider = new Sprite();
            slider.graphics.beginFill(0xff0000);
            slider.graphics.drawRect(0, 0, 10, 30);
            slider.graphics.endFill();
            addChild(slider);
            slider.x = 300;
            
            slider.addEventListener(MouseEvent.MOUSE_DOWN, _down);
            slider.addEventListener(MouseEvent.MOUSE_UP, _up);
        }
        
        private function _down(e : MouseEvent) : void {
            stage.addEventListener(MouseEvent.MOUSE_MOVE, _move);
            stage.addEventListener(MouseEvent.MOUSE_UP, _up);
            
        }
        
        private function _up(e : MouseEvent) : void {
            stage.removeEventListener(MouseEvent.MOUSE_MOVE, _move);
            stage.removeEventListener(MouseEvent.MOUSE_UP, _up);
            
        }
        
        private function _move(event : MouseEvent) : void {
            
            var rect : Rectangle = circle.scrollRect;
            trace(mouseY);
            rect.y = mouseY;
            slider.y = mouseY;
            trace(rect);
            circle.scrollRect = rect;
        }
    }
}
原文地址:https://www.cnblogs.com/playerlife/p/2727450.html