Flash / Flex / ActionScript/Graphics/Controls
Содержание
Creating an Item Renderer
<source lang="java">
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; } } }
}
</source>
Draw the Play/Pause graphic
<source lang="java">
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( ); } }
}
</source>
Panel Control
<source lang="java">
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); } }
}
</source>
Volume Control
<source lang="java">
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); } }
}
</source>