If you have like 100 sprites doing this it will definitely slow down, but with a single sprite, there will be no slowdown. If you want a super speed optimized method instead of a convenient one, you need a 16 sprite array. 4 for each direction and 4 frames per animation. Then, you can just look up the correct sprite with Pt-On(X,Y,D*4+(T^4)+Pic1) where D is direction (0,1,2, or 3) and T is the "step timer". Usually, you can just replace T with X+Y or something similar, it depends on the speed of animation and other factors you might want. The downside of this though is that even though the total amount of size in the executable will be around the same, its a hassle to have to draw 16 individual sprites for each character.