
GOGIOGOGOGO
By: a guest on
May 17th, 2012 | syntax:
None | size: 1.77 KB | hits: 18 | expires: Never
var xDirection:Number = 10;
var yDirection:Number = -10;
var targetX:Number = paddle_mc.x;
var easing:Number = 7;
function resetBallPosition():void
{
xDirection = 10;
yDirection = -10;
ball_mc.x = paddle_mc.x + paddle_mc.width/2 - ball_mc.width/2;
ball_mc.y = paddle_mc.y - ball_mc.height - paddle_mc.height/2;
}
function checkHitLocation(paddle:MovieClip):void
{
var hitPercent:Number;
var ballPosition:Number = ball_mc.x - paddle.x;
hitPercent = (ballPosition / (paddle.width - ball_mc.width)) - .5;
xDirection = hitPercent * 30;
yDirection *=1.05;
}
function initializeGame(event:MouseEvent):void
{
paddle_mc.addEventListener(Event.ENTER_FRAME, movePaddle);
ball_mc.addEventListener(Event.ENTER_FRAME, moveBall);
bg_mc.removeEventListener(MouseEvent.CLICK, initializeGame);
Mouse.hide();
}
function moveBall(event:Event):void
{
if(ball_mc.x <= 0)
{
xDirection *= -1;
}
else if(ball_mc.x >= stage.stageWidth - ball_mc.width)
{
xDirection *= -1;
}
if(ball_mc.hitTestObject(paddle_mc))
{
yDirection *= -1;
ball_mc.y = paddle_mc.y - ball_mc.height - paddle_mc.height/2;
checkHitLocation(paddle_mc);
}
if(ball_mc.y <= 0)
{
yDirection *= -1;
//resetBallPosition();
}
else if(ball_mc.y >= stage.stageHeight - ball_mc.height)
{
resetBallPosition();
}
ball_mc.x += xDirection;
ball_mc.y += yDirection;
}
function movePaddle(event:Event):void
{
if(this.mouseX <= paddle_mc.width/2)
{
targetX = 0;
}
else if(this.mouseX >= stage.stageWidth - paddle_mc.width/2)
{
targetX = stage.stageWidth - paddle_mc.width;
}
else
{
targetX = this.mouseX - paddle_mc.width/2;
}
paddle_mc.x += (targetX - paddle_mc.x) / easing;
}
bg_mc.addEventListener(MouseEvent.CLICK, initializeGame);