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

Proporção do jogo em telas diferentes

Acho que muitos também podem ter esse mesmo problema. Como manter um padrão de proporção para os elementos gráficos do jogo para telas de resoluções diferentes? Testei em vários aparelhos e em alguns não tem como jogar por causa do tamanho das imagens. Vi em outros tópicos que existe uma conversão de unidades mas queria saber ao certo como funciona e como aplicar no exemplo do curso.

2 respostas
solução!

Olá Christoferson,

Nesse curso não entramos em detalhes sobre como tratar as diferentes resoluções de tela porque isso iria dificultar um pouco a compreensão do código.

O ideal seria trabalhar com alguma unidade de medida diferente de pixels e que fosse proporcional à resolução da tela. Você pode fazer algo simples como definir todos os tamanhos como uma porcentagem do tamanho da tela ou então utilizar a unidade dp (density pixel). A solução para qualquer medida vai ser a mesma. Toda vez que você precisar definir um tamanho em pixels, você vai precisar converter a sua unidade escolhida para pixels. Isso inclui a quantidade de pixels que passaro pula, cai, os tamanhos dos canos, intervalos entre os canos, etc.

A mudança é bastante extensa e trabalhosa mas se resume a isso.

Caso precise dos métodos de conversão entre dp e pixel tem esse tópico com exemplo de código:

https://cursos.alura.com.br/forum/topico-escalando-a-tela-do-jogo-para-dispositivos-com-resolucoes-diferentes-18396

Entendi, realmente consegui melhorar esse problema usando tela.getAltura ou getLargura dividindo por um valor ao invés de valores fixos.