package { import flash.display.Sprite; import flash.events.Event; public class animation_ch03_Oval extends Sprite { private var ball:animation_ch03_Ball; private var angle:Number = 0; private var centerX:Number = 200; private var centerY:Number = 200; private var radiusX:Number = 200; private var radiusY:Number = 100; private var speed:Number = .1; public function animation_ch03_Oval() { init(); } //@ init(s) private function init():void { ball = new animation_ch03_Ball(); addChild(ball); ball.x = 0; addEventListener(Event.ENTER_FRAME, onEnterFrame); } //@ frame(s) public function onEnterFrame(event:Event):void { // the book seems to make a mistake here // ball.x = centerX + Math.sin(angle) * radiusX; // ball.y = centerY + Math.cos(angle) * radiusY; ball.x = centerX + Math.cos(angle) * radiusX; ball.y = centerY + Math.sin(angle) * radiusY; angle += speed; } } }