Jump to content

  • Log In with Google      Sign In   
  • Create Account


[2D Java Help] Need help with pong remake.[2D Java Help]


Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.

  • You cannot reply to this topic
4 replies to this topic

#1 Dylan_DE   Members   -  Reputation: 131

Like
0Likes
Like

Posted 20 February 2013 - 01:43 PM

I need help makeing the ball hit the bottom and bouncing back up. I tried this but it just hits and stays in one spot which i know why but what else would i do?

public void ballmove()
			{
			  y += 1;
			  if (y == 420)
			  {
				  y -= 1;
			  }
			}

 

 



Sponsor:

#2 Havsmonstret   Members   -  Reputation: 391

Like
0Likes
Like

Posted 20 February 2013 - 02:20 PM

Well, it just adds 1 to y so removing 1 if y == 420 will just put it back at 420.

You need to have some kind of variable indicating which way the ball is moving. I'd suggest you add a vector and they adding it to the position and changing the vector to a negative y-value whenever you hit the wall and vice versa for the other wall.



#3 thyagobr   Members   -  Reputation: 141

Like
0Likes
Like

Posted 20 February 2013 - 04:10 PM

That's really little information you provided us there. So yeah, I agree with Navall, you have to start decreasing your value to make the ball come the opposite way, so  direction information would be very good not only for that, but also to make some calculation based on the angle the ball hit the border and to determine the angle at which it'll keep on moving.



#4 xDarkShadowKnightx   Members   -  Reputation: 207

Like
0Likes
Like

Posted 20 February 2013 - 09:42 PM

Here's a simple example of what you could do, shouldn't be to hard to understand but if you can't understand it then just ask.

bool direction = false;

public void ballmove()
{
    if(direction = false){
        if(x >= 0)
            x++;
        else
            direction = true;
    }else{
        if(x <= 420)
            x--;
        else
            direction = false;
    }
}
 

EDIT: This kinda illustrates what Navall and thyagobr are talking about with the directions and stuff


Edited by xDarkShadowKnightx, 20 February 2013 - 09:44 PM.


#5 alexsok90   Members   -  Reputation: 127

Like
0Likes
Like

Posted 22 February 2013 - 04:19 AM

public float XVel = 1.0f;

public void BallMove()
{
    if (ball.X < 0 || ball.X > 420)
        XVel *= -1;

    ball.X += XVel;
}

 

Something more readable.






Old topic!
Guest, the last post of this topic is over 60 days old and at this point you may not reply in this topic. If you wish to continue this conversation start a new topic.



PARTNERS