Rectangle Collision Detection

This is a simple article on how we can detect if two rectangles are in collision.

You must check this with every frame that is drawn – so it will be part of your main loop.

The based approach is say to have  a rectangular player shape and a rectangular object.

You could take each point of the player rectangle and simply check if it inside the object rectangle.  That will work.

If you remember your coordinate space

These are the rectangles we want to detect.

So you can use a single call to determine if they are in collision:

 * Check if two rectangles collide
 * x_1, y_1, width_1, and height_1 define the boundaries of the first rectangle
 * x_2, y_2, width_2, and height_2 define the boundaries of the second rectangle
boolean rectangle_collision(float x_1, float y_1, float width_1, float height_1, float x_2, float y_2, float width_2, float height_2)
  return !(x_1 > x_2+width_2 || x_1+width_1 < x_2 || y_1 > y_2+height_2 || y_1+height_1 < y_2);

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s