Flash / Flex / ActionScript/Graphics/Controls

Материал из Web эксперт
Перейти к: навигация, поиск

Creating an Item Renderer

 
package
{
    import flash.display.Sprite;
    import flash.text.TextField;
    public class Main extends Sprite
    {
        private var array:Array = ["one", "two", "three", "four", "five"];
    
        public function Main()
        {
            super();
            for(var i:int = 0; i < array.length; i++)
            {
                var spr:Sprite = new Sprite();
    
                spr.graphics.beginFill(0x880088, 1);
                spr.graphics.drawRect(0, 0, 100, 30);
                spr.graphics.endFill();
    
                var txt:TextField = new TextField();
    
                txt.text = String(array[i]);
    
                spr.addChild(txt);
    
                addChild(spr);
    
                spr.y = i * 32;
            }
        }
    }
}



Draw the Play/Pause graphic

 
package{
    import flash.display.Bitmap;
    import flash.display.BitmapData;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    import flash.filters.DropShadowFilter;
    import flash.geom.Rectangle;
    import flash.media.SoundMixer;
    import flash.utils.ByteArray;
    
    public class Main extends Sprite {
        public function Main(  ) {
            // Draw the Play/Pause graphic
            graphics.beginFill(0xcccccc);
            graphics.drawRoundRect(0, 0, 20, 16, 4, 4);
            graphics.endFill(  );
            graphics.beginFill(0x333333);
            graphics.moveTo(4, 4);
            graphics.lineTo(8, 8);
            graphics.lineTo(4, 12);
            graphics.lineTo(4, 4);
            graphics.drawRect(10, 4, 2, 8);
            graphics.drawRect(14, 4, 2, 8);
            graphics.endFill(  );
            
        }
    }
}



Panel Control

 
package{
   import flash.display.*;
   import flash.events.*;
   
    public class Main extends Sprite {
        public var pan:Number = 0;
        
        public function Main(  )
        {
            addEventListener(MouseEvent.CLICK, onClick);
            draw(  );
        }
        
        public function onClick(event:MouseEvent):void
        {
            pan = event.localX / 50 - 1;
            draw(  );
            dispatchEvent(new Event(Event.CHANGE));
        }
    
        private function draw(  ):void {
            graphics.beginFill(0xcccccc);
            graphics.drawRect(0, 0, 102, 16);
            graphics.endFill(  );
            
            graphics.beginFill(0x000000);
            graphics.drawRect(50 + pan * 50, 0, 2, 16);
        }
    }
}



Volume Control

 
package{
   import flash.display.*;
   import flash.events.*;
   
    public class Main extends Sprite {
        public var volume:Number = 1.0;
        
        public function Main(  ){
            addEventListener(MouseEvent.CLICK, onClick);
            draw(  );
        }
        
        public function onClick(event:MouseEvent):void
        {
            // When user clicks the bar, set the volume
            volume = event.localX / 100;
            draw(  );
            dispatchEvent(new Event(Event.CHANGE));
        }
        
        private function draw(  ):void {
            // Draw a bar and the current volume position
            graphics.beginFill(0xcccccc);
            graphics.drawRect(0, 0, 102, 16);
            graphics.endFill(  );
            
            graphics.beginFill(0x000000);
            graphics.drawRect(volume * 100, 0, 2, 16);
        }
    }
}