The idea isn't super difficult but i guess explaining it with text and implementing it is tricky.
1. we first need to know if the player is colliding with a tilemap. This is dead simple with one event.
2. we need to know what tiles the player is overlapping. This example here does that:
3. So now we have a list of tiles overlapping the player. Here's a collection of ideas that search gives to get a rough collision point between two objects:
Guess one idea would be to get an average of all the tiles and use that.
Here's an idea to take the example from two and only use the part of the tile that's overlapping:
works well if the sprite is only slightly overlapping the tiles