Класс, который вы включили, ожидает, что кадры анимации будут перемещаться слева направо, а не сверху вниз, как ваш .gif.
Вы можете изменить его, изменив конструктор на
public AnimSprite(string f_imgFile, int f_height) {
frame = 0;
height = f_height;
imgFile = f_imgFile;
img = new Bitmap(imgFile);
width = img.Width;
}
и метод advanceFrame для
private void advanceFrame(Object sender, EventArgs e) {
frame++;
if ( frame >= img.Height/height )
frame = 0;
}
}
и ваш вызов DrawImageUnscaled до
tempGraphics.DrawImageUnscaled(img, 0, 0-(height*frame));