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;
        }
    }
}

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM