// set gravity amount var gravity:Number = .00098; // set starting velocity var dx:Number = .05; var dy:Number = -.9; // mark start time and add listener var lastTime:int = getTimer(); addEventListener(Event.ENTER_FRAME, animateBall); // step animation function animateBall(event:Event) { var b2:ballSymbol; // get time difference var timeDiff:int = getTimer() - lastTime; lastTime += timeDiff; // adjust vertical speed for gravity dy += gravity * timeDiff; // move ball ball.x += timeDiff * dx; ball.y += timeDiff * dy; b2 = new ballSymbol(); b2.x = ball.x; b2.y = ball.y; b2.alpha = 0.4; addChild(b2); if (ball.y + dy >= 400 && dy > 0) // bouncing ball { dy = 0.95 * dy; // reduce height of bounce dy = -dy; // dx = 0.97 * dx; } }