package { import flash.display.Sprite; import flash.events.Event; public class SinWave extends Sprite { private var angle:Number; private var id:Number; private var xpos:Number; private var ball:Sprite; private var sineCurve:Sprite = new Sprite(); private var sineLine:Sprite = new Sprite(); public function SinWave() { init(); } private function init():void { angle = 0; id = 1; xpos = 0; sineLine.graphics.lineStyle(5, 0xFFFF00, 10); sineLine.graphics.moveTo(xpos, Math.sin(angle)*75+75+100); addEventListener(Event.ENTER_FRAME, onEntrFrame); //sineCurve.addChild(sineLine); } private function onEntrFrame(event:Event):void { sineCurve.x = 0; sineCurve.y = 0; ball = new Sprite(); ball.graphics.beginFill(0xFFFF00); ball.graphics.drawCircle(0,0,2); ball.graphics.endFill(); ball.x = xpos; ball.y = Math.sin(angle)*75+75+100; sineLine.graphics.lineTo(ball.x, ball.y); sineCurve.addChild(ball); if (sineCurve.x+sineCurve.width>350) { sineCurve.x = 350-sineCurve.width; } addChild(sineCurve); xpos += 5; angle += 0.1; id++; } } }