package { import flash.display.*; import flash.events.*; import flash.ui.Keyboard; import flash.text.*; public class Ball extends Sprite { public var r:Number; public var c:Number; public var xv:Number; public var yv:Number; public var xshift:Number; public var yshift:Number; public var mass:Number; public function Ball(radius:Number, color:Number) { r = radius; c = color render(); xv = yv = 0; mass = 1; xshift = yshift = 0; addEventListener(Event.ENTER_FRAME, onEnterFrame); } public function render():void { var g:Graphics = graphics; g.clear(); g.lineStyle(1, c, 1.0); g.moveTo(0,-r); g.beginFill(c, 1.0); g.curveTo(r, -r, r, 0); g.curveTo(r, r, 0, r); g.curveTo(-r, r, -r, 0); g.curveTo(-r, -r, 0, -r); g.endFill(); } public function onEnterFrame(e:Event):void { x += xshift; y += yshift; xshift = 0; yshift = 0; //yv += .3; x += xv; y += yv; yv *= 0.99; xv *= 0.99; if(y > stage.stageHeight-r) { y = stage.stageHeight-r; yv = -yv*.9; } if(y < r) { y = r; yv = -yv*.9; } if(x > stage.stageWidth-r) { x = stage.stageWidth-r; xv = -xv*.9; } if(x < r ) { x = r ; xv = -xv*.9; } } } }