package { import flash.display.Sprite; import flash.events.Event; public class object_ax_oval extends Sprite { public var ball:object_ax_ball; private var angle:Number = 0; public var centerX:Number = 200; public var centerY:Number = 200; public var radiusX:Number = 200; public var radiusY:Number = 100; public var speed:Number = .1; public function adjust(s:Number):void { ball.scaleX = s; ball.scaleY = s; } public function object_ax_oval() { init(); } private function init():void { ball = new object_ax_ball(); addChild(ball); ball.x = 0; addEventListener(Event.ENTER_FRAME, onEnterFrame); } 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; } } }