boa tarde!
Estou querendo reiniciar o jogo, quando aparecer o game over.
ex.: aparecer um botão voltar ou um popup.
Poderia me dar uma luz, por favor.
Obrigado!
boa tarde!
Estou querendo reiniciar o jogo, quando aparecer o game over.
ex.: aparecer um botão voltar ou um popup.
Poderia me dar uma luz, por favor.
Obrigado!
Olá Renan,
Para reiniciar o jogo, basta capturar o toque na tela e invocar novamente o método startGame(...) da MainActivity. Esse método instancia uma nova Thread com a GameView e assim o loop do jogo que fica no método run(...) se inicia novamente.
Olá Jeferson,
Eu tenho que usar esses dois métodos abaixo e também criar um outro para reiniciar, fiquei na dúvida.
public boolean onTouch(View v, MotionEvent event) {
passaro.pula();
return false;
}
protected void onResume() {
super.onResume();
game.inicia();
new Thread(game).start();
}
Obrigado!
Olá Jeferson,
Dúvida, Eu tenho que usar esses dois métodos abaixo e também criar um outro para reiniciar?
Game
public boolean onTouch(View v, MotionEvent event) {
passaro.pula();
return false;
}
MainActivity
protected void onResume() {
super.onResume();
game.inicia();
new Thread(game).start();
}
Obrigado!
Olá Renan,
Você só vai precisar alterar alguns pontos da sua classe Game
. Primeiro, vamos alterar o método run()
para que ele não encerre a Thread
do jogo quando houver colisão. Depois vamos alterar o onTouch(...)
para reiniciar os jogo e os seus elementos:
public class Game extends SurfaceView implements Runnable, View.OnTouchListener {
// outros métodos
@Override
public void run() {
while (true) { // adicionar esse while
while (isRunning) {
// o código aqui fica igual
}
}
}
@Override
public boolean onTouch(View v, MotionEvent event) {
if (isRunning) {
passaro.pula();
} else {
inicializaElementos();
inicia();
}
return false;
}
}