frame(s)
private function onEnterFrame(event:Event):void
{
line.rotation = (stage.stageWidth/ 2 - mouseX) * .1;
// normal motion code
ball.vy += gravity;
ball.x += ball.vx;
ball.y += ball.vy;
// get angle, sine and cosine
var angle:Number = line.rotation * Math.PI / 180;
var cos:Number = Math.cos(angle);
var sin:Number = Math.sin(angle);
// get position of ball, relative to line
var x1:Number = ball.x - line.x;
var y1:Number = ball.y - line.y;
// rotate coordinates
var y2:Number = cos * y1 - sin * x1;
// perform bounce with rotated values
if(y2 > -ball.height / 2)
{
// rotate coordinates
var x2:Number = cos * x1 + sin * y1;
// rotate velocity
var vx1:Number = cos * ball.vx + sin * ball.vy;
var vy1:Number = cos * ball.vy - sin * ball.vx;
y2 = -ball.height / 2;
vy1 *= bounce;