How to get movement direction relative to sprite rotation?

:information_source: Attention Topic was automatically imported from the old Question2Answer platform.
:bust_in_silhouette: Asked By canoscan


I’m making a top down shooter. The movement is pretty standard. The arrow keys move the player and the player is rotated towards the mouse position. The controls are similar to Hotline Miami.

The issue that I’m having is I don’t know how to get the players movement direction relative to the way their facing. Basically I want to be able to play the forward walking animation when they’re walking towards the mouse, the backward walking animation when they’re walking away from it, and the strafing animation when they’re strafing. I’ve tried to calculate the angle of the input vector to the mouse position, but depending on the way player is rotated, this doesn’t return the correct result.