ARTICLE AD BOX
So basically, my collision code only works if the object is completely stationary. What I want to do is that I want my rectangle to be running at the ball, and then the moment it collide, it actually touches instead of the rectangle simply going through it. How do I do that?
This is my code right now:
//Collision: float prev_x = ball.x - ball.speed_x; float prev_y = ball.y - ball.speed_y; if(CheckCollisionCircleRec(Vector2{ball.x, ball.y}, ball.radius, Rectangle{player.x, player.y, player.width, player.height})){ if(prev_y + ball.radius <= player.y){ ball.y = player.y - ball.radius; ball.speed_y *= -1; } //Left else if(prev_x + ball.radius <= player.x){ ball.x = player.x - ball.radius; ball.speed_x *= -1; } //Right else if(prev_x - ball.radius >= player.x + player.width){ ball.x = player.x + player.width + ball.radius; ball.speed_x *= -1; } }1
Explore related questions
See similar questions with these tags.
