Hey Chili!
Posted: August 2nd, 2017, 8:37 pm
Hey Chili, I want to add colliding physics to this. How do I go about doing that? I have tried different things but none worked. I left the code in for you.
Code: Select all
// Not real code, can't copy and paste this shit and expect it to work. You'll have to come up with the real code yourself.
rect_a
rect_b
if
rect_a.left <= rect_b.right and rect_a.right > rect_b.left and
rect_a.top <= rect_b.bottom and rect_a.bottom > rect_b.top then
collision = true;
I Added The Solution So You Can Look At The Code Yourself And See The Dumb Way I Did That.albinopapa wrote:For rectangle collision,
Code: Select all
// Not real code, can't copy and paste this shit and expect it to work. You'll have to come up with the real code yourself. rect_a rect_b if rect_a.left <= rect_b.right and rect_a.right > rect_b.left and rect_a.top <= rect_b.bottom and rect_a.bottom > rect_b.top then collision = true;
If you don't have a rect class, then left is usually the xPosition, right is the xPosition + width, top is yPosition and bottom is yPosition + height.
That is collision detection. The correction part is still a mystery to me lol. If rect_a is coming from the top, then push up ( yPosition += rect_b.top - rect_a.bottom ), if coming from the left add the difference of overlap along the left of B and the right of A to the xPosition. When coming from the corners ( overlap on top or bottom and one of the sides ) one way of doing it would be to get the opposite direction the moving object was going in and move it until there is no overlap.