• ### Announcements

#### Archived

This topic is now archived and is closed to further replies.

# open gl 2d collision detection

## 7 posts in this topic

my game was progressing nicely untill i got to making collision detection. i just can figure it out . Can someone please help me. my game is like the 2d zelda game. i''ve spent hours trying to figure out a way but nothing works.
0

##### Share on other sites
OpenGL has nothing to do with collision detection. i presume if you are doing a 2D based game you will be using a tile/index based system. all you would need to do is test the tile next to the players current position in the direction the player is trying to go. if the tile index in the destination is the index of a blocking object (i.e a tree) then deny the player from moving. otherwise allow the player to move in that direction.

To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
0

##### Share on other sites
Collision to what? The world (walls, pillars, etc.), sprites, objects? All three may require different wats of detecting collision. Unless you want to bust out the trigonometry in your game and resigning the entire map and engine, you''re probably going to use a simple method. Just think rectangles overlapping, or distance formula (for circula collisions).
0

##### Share on other sites
Collision detection in 2d is fairly easy as long as you remember that a game is nothing but a thin layer of pretty (and sometimes not so pretty) pictures on top of a very thick layer of numbers.

Lets say that an object with a radius of 1.0f is falling twords the ground, which is at 0.0f on the y axis. Each frame you will decrement the y value of your falling object, also do a test so see if the object is a 1.0f on the y axis, if it is then it is touching the ground (remember, the object sticks out by 1.0f).
It is fairly easy to do unless your object are strangly shapped, square and circle collisions are easy so try to make your objects with that in mind. Also, try not to check for collisions unless you have to, it can take along time if you have alot of objects.

Jason Mickela
ICQ : 873518
E-Mail: jmickela@sbcglobal.net
------------------------------
"Evil attacks from all sides
but the greatest evil attacks
from within." Me
------------------------------
0

##### Share on other sites
can you please post a bit of code for an example?
0

##### Share on other sites
u gotta be kidding.

try "www.google.com" and searching under "2d collision detection+examples+programming".

To the vast majority of mankind, nothing is more agreeable than to escape the need for mental exertion... To most people, nothing is more troublesome than the effort of thinking.
0

##### Share on other sites
i''m only a newbie.(obviously)
this is my first game i know i should have made something easier but this is sort of easy exept for collision detection.
0

##### Share on other sites
Some semi-pseudocode semi-real for 2d bounding box collision:
  bool PointInsideBox(box_t box, point_t point){ if (point.x >= box.x && point.x <= box.x+box.width) if (point.y >= box.y && point.y <= box.y+box.height) return true; return false;}bool CheckCollision(box_t box1, box_t box2){ int i; for (i=0;i<4;i++) { if (PointInsideBox(box1,box2.corner[i])) return true; if (PointInsideBox(box2,box1.corner[i])) return true; } return false;}
0