Eu gostaria de entender melhor como as pessoas no mundo real estão lidando com suas animações.
Você carrega uma imagem grande e desenha retângulos diferentes com base no quadro de animação?
Você carrega arquivos de imagem X em uma matriz e desenha o item na matriz com base no quadro de animação?
Como você lida com diferentes comprimentos de animações para vários sprites.
Digamos que um personagem andando tenha de 4 a 8 quadros, e as ondas na praia apenas de 2 a 3 quadros. Como você lidaria com essa situação? Ver abaixo
Dim Waves(1) as Sprite
Dim Char(5) as Sprite
Sub Animate()
Frame += 1
Draw Char(Frame)
Draw Waves(Frame)
If Frame = 5 Then Frame = 0
End Sub
Obviamente, o Waves acabaria com um erro fora dos limites.
Ou você tem seu sprite preocupado com a própria animação e não se importa com o quadro? Cada sprite conhece seu próprio loop de animação?