Solucionado (ver solução)
Solucionado
(ver solução)
1
resposta

Limpar tela a cada ciclo do loop do jogo

No vídeo da aula 2 (Colocando uma imagem de fundo), foi apresentada a solução de desenhar uma imagem como background da tela para corrigir o problema do rastro deixado pelo elemento que representa o pássaro.

Porém fiquei com uma dúvida: Como eu faria a mesma coisa sem a imagem? Qual a melhor solução para apenas limpar a tela? Seria desenhar um retângulo (drawRect) com as coordenadas da tela inteira? Ou há alguma solução melhor?

1 resposta
solução!

Olá Jefferson,

A sua solução está correta e em muitos casos vai ser suficiente. Ela só não seria recomendada se o seu jogo possuísse algum background que sempre precisasse ser redesenhado.

Uma outra possibilidade seria utilizar o método drawRGB(...) passando a cor que você quer utilizar para limpar o seu canvas.

Não sei dizer se esse segundo método é mais rápido mas talvez valha a pena fazer um teste limpando a tela algumas centenas de vezes com as duas abordagens e medindo os tempos para chegar num resultado definitivo.

Quer mergulhar em tecnologia e aprendizagem?

Receba a newsletter que o nosso CEO escreve pessoalmente, com insights do mercado de trabalho, ciência e desenvolvimento de software