8Direction movement already comes with with movment on direction. So why are you adding extra movement code? As I see it your 8Direction is never used. You should remove the move 1 pixel at angle X. then give your 8Direction an acceleration value say 1500.
so here is what is happening. Your not using 8 direction at all. *direction has it' own math to move the position values of the sprite. Instead your doing a
Onkeyboard then do move. Which has nothign to do with 8 Direction.
But since Keyboard works indenpendently of 8Direction. Pressing 2 direction keys at once will evaulate both to truee. and thus you will get diagnol movement.
that's why it's not working.
RecGames makes a good point. Is your animation walking? and is it set to loop?
Also have you done the first tutorial. Teaches the basic fundamentals or is this a muddle the way through? I found muddling very hard and had to work throught he first tutorials.