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

Texto de Game Over não está centralizado no meio da tela

O meu texto de game over fica mais para esquerda da tela, em vez de ficar no meio.

public void desenhaNo(Canvas canvas) {
        String gameOver = "Game Over";
        int centroHorizontal = centralizaTexto(gameOver);
        canvas.drawText(gameOver, 0, tela.getAltura()/2, VERMELHO);
    }
 private int centralizaTexto(String texto) {
        Rect limiteDoTexto = new Rect();
        VERMELHO.getTextBounds(texto, 0, texto.length(), limiteDoTexto);
        int centroHorizontal = tela.getLargura()/2 - (limiteDoTexto.right - limiteDoTexto.left)/2; 
        return centroHorizontal;
    }

Obrigado!

2 respostas
solução!

Olá Renan,

Quando você chama o drawText você precisa passar a variável centroHorizontal no lugar do valor 0. Seu código do método desenhaNo(....) deve ficar assim:

public void desenhaNo(Canvas canvas) {
        String gameOver = "Game Over";
        int centroHorizontal = centralizaTexto(gameOver);
        canvas.drawText(gameOver, centroHorizontal, tela.getAltura()/2, VERMELHO);
}

Deu certo. Muito Obrigado!

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