That's a great little demo there pcRaider

I would say the only little adjustment you need to make there is the ability to hold down two directions, though that would be pretty simple to add.
As a different take on this, without using play sprite but altering pcRaiders code so it works with his media:
set window on
sync on : sync rate 60
create animated sprite 1, "02.png", 5, 4, 1
x = 100 : y = 200
delay = 100
do
if scancode() > 0
if timer() > frameTimer + delay
frameTimer = timer()
inc frame
endif
else
frameTimer = timer()
frame = 0
endif
if upkey() then set sprite frame 1, wrap(2+frame, 2, 5) : y = y-2
if downkey() then set sprite frame 1, wrap(12+frame, 12, 15) : y = y+2
if leftkey() then set sprite frame 1, wrap(17+frame, 17, 20) : x = x-2
if rightkey() then set sprite frame 1, wrap(7+frame, 7, 10) : x = x+2
sprite 1,x,y,1
sync
loop
end
Note: Ian's Matrix Plugin is needed for the wrap command
"Get in the Van!" - Van B