Estou fazendo um jogo em Java, aonde meu cenário é uma matriz que é desenhado quadrado por quadrado. Meu probledma é quando faço algum movimento que tenho que redesenhar tudo o jogo fica piscando a tela. Uso o método repaint(), e um “for” aonde desenha quadrado por quadrado até completar o cenário. É normal isso ou tem alguma forma para não piscar?
Bom, parece que vc está desenhando direto no JPanel que está visível, correto? Aí, quando a tela começa a ficar mais complexa ela pisca, porque demora pra desenhar. O truque é desenhar fora da tela (em uma BufferedImage ou em outro JPanel mesmo) e trocar pela imagem que está na tela quando acabar de desenhar.
Tava piscando tanto porque eu limpava a tela com super.paint(g); ai tirei isso para testar não ta mais piscando, mas também o fundo não está limpando ele vai desenhando um emcima do outro. Tentei manter e fazer o bufferedImage mas pisca a tela do mesmo jeito, com Thread como seria? Alguém pode mostrar algum exemplo? Vlw a todos abçs.