package org.Geometria{ import flash.display.*; import flash.utils.*; import flash.geom.Point; import flash.events.*; public class PolarCurve extends MovieClip { protected var teta:Number=0; protected var maxTeta:Number=uint.MAX_VALUE; protected var speed:Number=0.1; private var old,current:Point=null; private var lineColor:uint=0; public function PolarCurve() { } public function disegna():void { addEventListener(Event.ENTER_FRAME,disegna_); } public function stoppa():void { removeEventListener(Event.ENTER_FRAME,disegna_); } public function setColor(col:uint) { lineColor=col; } private function disegna_(event:Event):void { current=new Point(); var effe:Number=f(); current.x=effe*Math.cos(teta); current.y=effe*Math.sin(teta); if (old!=null) { var linea:Shape=new Shape(); linea.graphics.lineStyle(0,lineColor); linea.graphics.moveTo(old.x,old.y); linea.graphics.lineTo(current.x,current.y); addChild(linea); } old=current; teta+=speed; if (teta>maxTeta) { removeEventListener(Event.ENTER_FRAME,disegna_); } current=null; } protected function f():Number { return 0; } } }