Well you can do it in one event, but it means having each angle of your run cycle a separate animation. Basically you divide your hitbox's angle of rotation into 8 pieces so it spits out a number for each piece 0 through 7, and append that number to your animation name in the set animation event.
So it would be something like "if Playerbox is moving set animation to "Run" & int(((Playerbox.Angle+360+22.5) %360)/45". And then your run animations would have to be named Run0, Run1, Run2, etc.
I found this method in a thread a while ago but can't for the life of me find it again, so sorry for not giving credit where it's due.