You might not need to keep track of an invisible sprite.
Try the overlapping by offset condition for your player.
For x and y use cos(Player.Angle)*distance and sin(Player.Angle)*distance.
For distance you just do however wide your character is i guess.
I'm thinking of doing the same thing in my game, and I was going to try it out today.
Good luck, I'll report back if it works in my game.