root/Scrollbartest/ScrollContent.as

User picture

Author: Ying

Revision: 7 («Previous)


File Size: 1.04 KB

(March 22, 2009 15:43 UTC) About 3 years ago


  

 
Show/hide line numbers
package
{
    import flash.display.Sprite;
    import flash.geom.Rectangle;

    public class ScrollContent extends Sprite
    {
        // elements
        protected var content:Sprite;
        protected var scrollbar:Scrollbar;
        protected var contentHeight:Number;
        
        /**
         * Constructor
         */
        public function ScrollContent( clip:Sprite, scroller:Scrollbar, scrollRect:Rectangle )
        {
            content = clip;
            contentHeight = clip.height;
            content.scrollRect = scrollRect;
            
            scrollbar = scroller;
            
            scrollbar.addEventListener( SliderEvent.CHANGE, updateContent );
        }
        
        public function updateContent( e:SliderEvent ):void
        {
            var scrollable:Number = contentHeight - content.scrollRect.height;
            var sr:Rectangle = content.scrollRect.clone();

            sr.y = scrollable * e.percent;
            
            content.scrollRect = sr;
        }
    }
}