Skip to content

Comment on How I implemented 2D collision detection in Pistol Slut

Comments

I don't think they have this in Javascript, but you want range trees, or, as drblast puts it, binary space partition, for detection.

For object redirection, just figure out which side of your grenade crosses another object first. You can do this simply by making your grenade a point (at the center) and adding half its size to every other object (in your calculations), effectively, taking the Minkowski sum of your grenade with every object you check. This eliminates the "which corner do I use" problem, and really simplifies your code. Then, suppose it crosses a vertical line defining another object, going from ticked position A to C. No need to find B, just subtract the x-coordinate of C and the vertical line, and subtract twice that from the x-coordinate of the grenade.

Something like this: https://gist.github.com/786255

Hopefully you can read my faked python, and have segment intersection and point-in-rectangle tests. Careful on the corners of boxes.

AboutSource Built by g1lg1l

Hackerly is an independent reader for Hacker News, built on the public HN API. Not affiliated with Y Combinator.