Skip to main content
deleted 4 characters in body
Source Link

First of even you have isometric movement or place your objects in isometric space the movement etc. isObjects stay still in normal "topdown" 2D so the collision happens the same way as you would have a top down game (if your work in 2D space only) - the shape of SDL_Rect doesn´t change. You didn`t provide the code where you keep track of your collision Rect so its hard to help you. You can try to use SDL_RenderDrawRect to draw your collisionbox around your player and so on and see how the rects behave when you move your player. Also you can use SDL_HasIntersection to check if there is a collision between 2 rects instead of your check collision function you have.

First of even you have isometric movement or place your objects in isometric space the movement etc. is still in normal "topdown" 2D so the collision happens the same way as you would have a top down game (if your work in 2D space only) - the shape of SDL_Rect doesn´t change. You didn`t provide the code where you keep track of your collision Rect so its hard to help you. You can try to use SDL_RenderDrawRect to draw your collisionbox around your player and so on and see how the rects behave when you move your player. Also you can use SDL_HasIntersection to check if there is a collision between 2 rects instead of your check collision function you have.

First of even you have isometric movement or place your objects in isometric space the Objects stay still in normal "topdown" 2D so the collision happens the same way as you would have a top down game (if your work in 2D space only) - the shape of SDL_Rect doesn´t change. You didn`t provide the code where you keep track of your collision Rect so its hard to help you. You can try to use SDL_RenderDrawRect to draw your collisionbox around your player and so on and see how the rects behave when you move your player. Also you can use SDL_HasIntersection to check if there is a collision between 2 rects instead of your check collision function you have.

Source Link

First of even you have isometric movement or place your objects in isometric space the movement etc. is still in normal "topdown" 2D so the collision happens the same way as you would have a top down game (if your work in 2D space only) - the shape of SDL_Rect doesn´t change. You didn`t provide the code where you keep track of your collision Rect so its hard to help you. You can try to use SDL_RenderDrawRect to draw your collisionbox around your player and so on and see how the rects behave when you move your player. Also you can use SDL_HasIntersection to check if there is a collision between 2 rects instead of your check collision function you have.