Анимацию спрайта можно осуществить несколькими способами. Наиболее старый и уже мало где используемый - последовательный вывод и затирание спрайта с отрисовкой со сдвигом. Выглядит это следующим образом: выводится картинка, некоторое время отображается, потом заливается цветом фона, выводится снова с небольшим изменением координат относительно прежнего положения. Минус этого способа - сильное мерцание и относительно низкая скорость отрисовки.
Другой способ - вывод с использованием наложения на фоновый рисунок и исключением при стирании. Скорость вывода повышается, меньше бликов, однако при большом количестве спрайтов скорость отрисовки также снижается.
Третий способ - использование страниц видеопамяти. Изображение формируется на неактивной странице, потом ее отображают, а на старой странице формируется новое изображение. Анимация реализуется за счет быстрого переключения между активной и фоновой страницами. Этот способ достаточно быстрый и использовался при разработке спрайтовых игр.
Четвертый способ - использование ресурсов графического акселератора и масок. Это наиболее быстрый способ вывода, так как отрисовка ускоряется за счет использования видеопроцессора.
Можно еще долго перечислять разные способы анимации, их множество, все они имеют свои плюсы и минусы. Выбирать способ лучше основываясь на используемом языке программирования, так как способы реализации вывода графики в разных ЯП существенно различаются.