Enjoy an ad free experience by logging in. Not a member yet? Register.


Results 1 to 3 of 3

03242009, 02:54 AM #1
 Join Date
 Jan 2009
 Posts
 15
 Thanks
 1
 Thanked 0 Times in 0 Posts
My program exploded... I can has help?
I am trying to recreate a simple version of Pong. I am almost positive that I coded it correctly, though I apparently didn't because it's not working. I would be much appreciative if someone would take a look at my code and point me in the right direction. I'll put the code up, but since this is Flash, I'll also put the actual program file up as an attachment.
Thanks,
Cmptr_Prgrmr2B
Code:player.onEnterFrame = function() { player._y = _root._ymouse; } opp.onEnterFrame = function() { if (ball._y < opp._y) { opp.dy =  opp.speed; } else { opp.dy = opp.speed; } opp._y += opp.dy; } init(); function init() { mouse.hide(); ball.dx = 15; ball.dy = 5; opp.speed = 10; playerScore = 0; oppScore = 0; } ball.onEnterFrame = function() { ball.move(); ball.checkBoundaries(); ball.checkPaddles(); } ball.move = function() { ball._x += ball.dx; ball._y += ball.dy; } ball.checkBoundaries = function() { if(ball._y < 0) { ball.dy = ball.dy; } if(ball._y > Stage.height) { ball.dy = ball.dy; } if(ball._x < 0) { oppScore++; ball._x = opp._x  60; ball._y = opp_y; ball.dy = 0; } if(ball._x > Stage.width) { playerScore++ ball._x = player._x + 50; ball._y = player._y; ball.dy = 0; } } ball.checkPaddles = function() { if (ball.hitTest(player)) { ball.dx = ball.dx; ball.dy = getDy(player); } if (ball.hitTest(opp)) { ball.dx = ball.dx; ball.dy = getDy(opp); } } function getDy(paddle) { relY = ball._y  paddle._y; relPerc  relY / paddle._height; trace ("relPerc"); newDy = relPerc * 30; trace("NewDy"); return newDy; }
03242009, 09:59 AM
#2
 Join Date
 Sep 2007
 Location
 Houston
 Posts
 2,846
 Thanks
 10
 Thanked 238 Times in 229 Posts
Well I would check your code at
because it doesn't reset the ball properly.Code:if(ball._x < 0) { oppScore++; ball._x = opp._x  60; ball._y = opp_y; ball.dy = 0; }
Then the ball doesn't really have any angle to its direction, so perhaps integrating some Math methods to give the ball a different direction based on where it hits the paddle.
jeremy  gnomeontherun
Educated questions often get educated answers, and simple questions often get simple answers.
03242009, 01:32 PM
#3
 Join Date
 Jan 2009
 Posts
 15
 Thanks
 1
 Thanked 0 Times in 0 Posts
I fixed part of my code like you posted, and went looking for a way to bounce the ball ad different angles. In my original code, this
should have done it. For some reason it did not. Can you please look at this code as well?Code:ball.checkPaddles = function() { if (ball.hitTest(player)) { ball.dx = ball.dx; ball.dy = getDy(player); } if (ball.hitTest(opp)) { ball.dx = ball.dx; ball.dy = getDy(opp); } } function getDy(paddle) { relY = ball._y  paddle._y; relPerc  relY / paddle._height; trace ("relPerc"); newDy = relPerc * 30; trace("NewDy"); return newDy; }