Opa Christoferson, sem problemas!
Vamos primeiro entender o que o seu código está fazendo. Na primeira linha do desenhaNo()
, estamos desenhando o pássaro 1. Nesse caso, ela linha não seria necessária pois precisamos primeiro verificar o contador antes de decidir qual pássaro desenhar.
A verificação contador % 4 == 0
está verificando se o resto da divisão do contador
por 4 é 0. Então a gente só vai desenhar o pássaro 2 se o contador for múltiplo de 4! Isso significa que vamos mostrar o pássaro 1 quando o contador for 1, 2 e 3 e o pássaro 2 quando o contador for 4, 8, 12, etc.
O ideal seria que a gente mostrasse cada um dos pássaros numa quantidade igual de quadros do jogo. Para fazer isso, vamos modificar a verificação para a seguinte:
if (contador >= 4) {
canvas.drawBitmap(passaro2, X - RAIO, altura - RAIO, null);
} else {
canvas.drawBitmap(passaro1, X - RAIO, altura - RAIO, null);
}
Desse modo, quando contador for 0,1,2,3 desenhamos o pássaro 1. Caso contrário, no 4, 5, 6, 7 desenhamos o pássaro 2. Mas agora precisamos tomar cuidado para que o contador não passe de 7. Para isso vamos modificar o código do método cai()
pra ficar assim:
public void cai() {
contador++;
if (contador > 7) {
contador=0;
}
// resto do código
}
Agora sim! Toda vez que o pássaro cai um pouquinho estamos aumentando o contador. Enquanto ele for menor que 4 mostramos o pássaro 1. Quando ele for maior ou igual a 4 passamos a mostrar o pássaro 2. E finalmente quando o contador passar de 7, resetamos o contador para 0 e então passamos a exibir novamente o pássaro 1. Com isso você deve conseguir fazer a animação do pássaro!