Jump to content

  • Log In with Google      Sign In   
  • Create Account


Whats a good way to do collision detection in a simple JFrame game?


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 javad3v   Members   -  Reputation: 104

Like
0Likes
Like

Posted 06 October 2012 - 09:14 AM

Im trying to write a simple pong game in java using swing for the GUI. I have a couple of ideas about how I could do the collision detection, but being a noob I'm not sure which is the best (if any). Could anyone help me with this, or at least point me to an article on the subject? Thanks.

Sponsor:

#2 Lars-Kristian   Members   -  Reputation: 158

Like
0Likes
Like

Posted 06 October 2012 - 11:24 AM

Hi I read your post and I think I can help. But first I need to know:

How do you want your game to look like?

Are you aiming for the absolute simplest version(the ball updates 1-5 times a second), or the more modern version(the ball have a fluid motion)?
Is the ball round or square?
What happens if it hits a corner of the paddle?

#3 javad3v   Members   -  Reputation: 104

Like
0Likes
Like

Posted 06 October 2012 - 12:27 PM

Hi I read your post and I think I can help. But first I need to know:

How do you want your game to look like?

Are you aiming for the absolute simplest version(the ball updates 1-5 times a second), or the more modern version(the ball have a fluid motion)?
Is the ball round or square?
What happens if it hits a corner of the paddle?



I'm just doing the absolute simple version for now. Unless the paddle is moving, the ball will act the same no matter where it hits the paddle. The ball is a square.

#4 Lars-Kristian   Members   -  Reputation: 158

Like
1Likes
Like

Posted 06 October 2012 - 01:36 PM

If you have a basic understanding about vectors this link will help you a lot:
http://www.metanetso.../tutorialA.html

Under the "calculating the projection vector" section.

You can:
1. Find the the smallest projection vector.
2. Move the ball on the outside of the paddle.(The length of the projection vector)
3. Reverse the acceleration of the ball in the direction of the collision.

Note: It can also be useful too not allow movement of the paddle if the ball hits the top or bottom side of the paddle, so that the ball and paddle does not collide 2 time in a row.

This is not the simplest method too find the collision, but it is very useful when it comes too collision handling.

If this does not make sense, please let me know. xD

Edited by Lars-Kristian, 06 October 2012 - 01:51 PM.


#5 javad3v   Members   -  Reputation: 104

Like
0Likes
Like

Posted 06 October 2012 - 01:49 PM

If you have a basic understanding about vectors this link will help you a lot:
http://www.metanetso.../tutorialA.html

Under the "calculating the projection vector" section.

You can:
1. Find the the smallest projection vector.
2. Move the ball on the outside of the paddle.(The length of the projection vector)
3. Reverse the acceleration of the ball in the direction of the collision.

Note: It can also be useful too not allow movement of the paddle if the ball hits the top or bottom side of the paddle, so that the ball and paddle does not collide 2 time in a row.

This is not the simplest method to find the collision, but it is very useful when it comes to collision handling.

If this does not make sense, please let me know. xD


Great, that helps a lot. Thanks for the 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.



PARTNERS