Thanks for trying to help!
I think I haven’t explained all that well what I’m asking.
It’s using one Area2D and a physical body.
I’ve tried that before and tried that now again, just to check. But it’s getting me the exact same result (with increasing the collision shape of the enemy’s body). When I reduce the collision shape y-size of the feet, then I get velocity=0 and with just one pixel more, I seemingly always get a velocity from which I can infer that the player is coming from above.
So it’s really just the speed of the collision checks that manage to report the collision in time, when I just add a few pixels more to the shape’s sizes.
But what about higher speeds when colliding? How do I know how big a collision shape needs to be to always guarantee that the collision happens?
The link that I posted above says that people use RayCasts to have collisions further along the line, but then I need multiple Raycasts and those maybe also need to be of a minimum length to report correctly.
So maybe there is no sure-fire way of getting collisions to always report correctly, when the velocity of one of the colliding objects is too big.
But then again
How do I know how big a collision shape needs to be to always guarantee that the collision happens?