以前一直用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;
        }
    }
}

 

 

 

相关文章:

  • 2022-12-23
  • 2021-07-28
  • 2021-08-24
  • 2022-12-23
  • 2021-10-22
  • 2021-08-06
  • 2021-11-23
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-28
  • 2021-11-14
  • 2021-07-17
  • 2021-11-24
相关资源
相似解决方案