Solucionado (ver solução)
Solucionado
(ver solução)
5
respostas

Reiniciar o jogo após o Game Over

Como faço para adicionar um novo Game no Fragment para rodar novamente o jogo após o GameOver? Eu tentei com o método abaixo, mas não deu certo, fica uma tela preta:

public void trocaTela() {
        Game game = new Game(this);
        container.removeView(this.game);
        container.addView(game);
    }
5 respostas

Onde você está chamando esse método, Luis?

Também estou tentando Reiniciar o Jogo, no meu caso tentei dentro da classe Game alterar o isRuning = true e chamar novamente o método Run().

o problema é que depois disso o pássaro não volta a pular.

solução!

Agora funcionou. Seguindo a ideia do Luis criei o metodo

    public void ReiniciarJogo() {
        container.removeView(this.game);

        this.game  = new Game(this);
        container.addView(this.game);

        this.game.start();
        new Thread(this.game).start();
    }

na mainActivty

e criei o metodo

    private void tryAgain() {
        MainActivity activity = (MainActivity) context;
        activity.ReiniciarJogo();
    }

na classe Game.

dessa forma a tela pisca Preto e depois o novo jogo inicia.

Perfeito, Alvaro!

Perceba que, para o jogo rodar novamente, é necessário startar a thread do SurfaceView além de somente adicionar o SurfaceView ao nosso container.

Abraço!

Olá eu não consegui implementar o método, podem em explicar novamente?