package{ import flash.display.*; import flash.events.Event; import flash.geom.ColorTransform; [SWF(width="800", height="600", backgroundColor="#ffffff", frameRate="30")] public class DrawPic extends Sprite{ private var phi:Number = 1.61803399; private var i:int = 0; private var sprite:Sprite = new Sprite(); public function DrawPic(){ addChild(sprite); sprite.x = 400; sprite.y = 300; addEventListener(Event.ENTER_FRAME,onEnterFrame); } private function onEnterFrame(event:Event):void{ if(i++>600){ removeEventListener(Event.ENTER_FRAME,onEnterFrame); } var theta:Number = (i*phi*Math.PI*0.05); var r:Number = 0.4*i; var xc:Number = r*Math.cos(theta); var yc:Number = r*Math.sin(theta); var rho:Number = (i/150.0)*Math.PI; var alpha:Number = (i + 50)/700; var red:Number = Math.floor(192.0 +(63.0*Math.sin(rho))); var green:Number = Math.floor(192.0 +(63.0*Math.cos(rho))); var blue:Number = Math.floor(Math.sqrt(red)); var color:ColorTransform = new ColorTransform(); color.redOffset = red; color.greenOffset = green; color.blueOffset = blue; sprite.graphics.beginFill(color.color,alpha); sprite.graphics.drawCircle(xc,yc,alpha*40); sprite.graphics.endFill(); } } }