Entrar
Últimos assuntos
» player não consegue andarpor lovn7 Qui 21 Nov 2024, 13:33
» É possível fazer istó no game maker
por William Lima Qui 21 Nov 2024, 10:56
» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por Lua Sáb 16 Nov 2024, 20:22
» (Resolvido) Cenario longo x Texture Pages
por josuedemoraes Sáb 16 Nov 2024, 15:31
» Kids' band
por Adilson Lucindo Santos Sex 15 Nov 2024, 12:23
» (RESOLVIDO) Engasgos-Troca de Sprites/animações
por josuedemoraes Ter 12 Nov 2024, 01:49
» Block Room - DEMO
por Joton Qua 06 Nov 2024, 22:58
» Game Infinito vertical (subindo)
por macmilam Sáb 26 Out 2024, 12:36
» Retorno da GMBR!!!
por Dancity Ter 22 Out 2024, 16:36
» Máquina de estados
por aminaro Qui 10 Out 2024, 13:33
» como faço pra um objeto colidir com o outro e diminuir a vida do player ?
por josuedemoraes Qui 03 Out 2024, 16:51
» RESOLVIDO: Colisão com objetos moveis
por josuedemoraes Qua 02 Out 2024, 20:28
» Crypt of the Blood Moon
por divin sphere Qua 11 Set 2024, 18:18
» como fazer um objeto seguir?
por divin sphere Dom 18 Ago 2024, 18:08
» Procuro de alguém para Modelar/Texturizar/Animar objetos 3D
por un00brn Dom 11 Ago 2024, 11:10
» Destruição de cenário (estilo DD Tank)
por CoronelZeg Sex 09 Ago 2024, 17:16
» RESOLVIDO-Como destruir uma instancia especifica de um objeto
por josuedemoraes Ter 23 Jul 2024, 00:40
» Automatizar a coleta de id
por GabrielXavier Seg 22 Jul 2024, 18:01
» Preciso de ajuda para concluir um pequeno projeto
por lmoura Qui 27 Jun 2024, 15:45
» ANGULO ACOMPANHAR O OBJETO
por Klinton Rodrigues Qui 27 Jun 2024, 08:34
» Musica reinicia quando sala reinicia
por GabrielXavier Ter 18 Jun 2024, 07:28
» como fazer uma copia de gd
por generico_cube Sex 14 Jun 2024, 15:48
» Square Adventure
por guilherme551 Ter 11 Jun 2024, 09:54
» como posso definir limite de uma variavel
por GabrielXavier Sex 07 Jun 2024, 14:14
» [Resolvido] Dúvida, colisão única de objeto
por vdm842 Sex 24 maio 2024, 09:50
GMS: Seu jogo MULTI-RESOLUÇÃO
5 participantes
Página 1 de 1
GMS: Seu jogo MULTI-RESOLUÇÃO
Fala galera beleza, depois de muito tempo de inatividade venho ao fórum postar um presente maravilhoso para desenvolvedores Android/iOS/Windows Phone... MULTI RESOLUÇÃO JÁ!
É algo que me fez desistir de vários projetos, pois não sabia em qual resolução produzir, quando começava a produzir outros aparelhos cortavam partes importantes do jogo, e atrapalhava toda sua diversão. Não sei como está o fórum para tal assunto, mas informação nunca é demais.
Parei um bom tempo para tentar estudar como seria a resolução do problema, eu sabia que era algo fácil, mas não sabia como. Até que deparei-me com uma solução simples e funcional, e quero passar para vocês como funciona, como uso, de forma detalhada.
Eu estudei as resoluções mais usadas no mercado ANDROID, faz um bom tempo então não lembro quais eram/é as resoluções mais utilizadas, mas a tendência são telas grandes e com Aspect Ratio de valor 1,77.. corrijam-me se estiver errado.
O AR nada mais é do que um valor que representa a diagonal de uma tela, ex ( 1280/720=1,77... ), enfim...
Então uma resolução que decidi adotar foi a de 1280x720, que é a resolução do meu celular e também por ser uma resolução HD.
Quando o jogo é em landscape uso 1280x720, quando portrait uso 720x1280.
O funcionamento do código acontece através de uma combinação matemática juntamente com uma view na room, a ideia que tive foi: matematicamente manter o AR de 1,77 em qualquer dispositivo, e fazer um corte na room.. ( O corte é necessário para manter o aspecto e não destorcer seu jogo )
O código abaixo funciona bem para jogos PORTRAIT. ( não ocorreram testes com jogos landscape, quem testar deixa o feedback nos comentários )
E funciona da seguinte forma:
larg: largura da tela do celular
alt: altura da tela do celular
Y: ASPECT RATIO da tela do celular
E os comandos de view vão redimensionar a view para o máximo valor possível para dentro da resolução do celular em que o jogo estiver rodando.
Dependendo da resolução de tela que o jogo estiver sendo rodado, perdas ocorrerão e tais perdas são de:
720x1280 = não perde
480x800 = perde 80px
320x480 = perde 200px
240x320 = perde 320px
Você pode escolher onde a perda vai ser feita, 40px em cima 40px em baixo.. depende de você, no meu código a perda está dividida, meio a meio.
imagem para entender melhor a perda.
essa imagem mostra seu jogo rodando em multi resoluções ( Sendo que o jogo foi produzido em 720x1280 )
Espero que a partir de agora suas produções tornem-se mais profissionais, e que gostem do código! Abraços
É algo que me fez desistir de vários projetos, pois não sabia em qual resolução produzir, quando começava a produzir outros aparelhos cortavam partes importantes do jogo, e atrapalhava toda sua diversão. Não sei como está o fórum para tal assunto, mas informação nunca é demais.
Parei um bom tempo para tentar estudar como seria a resolução do problema, eu sabia que era algo fácil, mas não sabia como. Até que deparei-me com uma solução simples e funcional, e quero passar para vocês como funciona, como uso, de forma detalhada.
Eu estudei as resoluções mais usadas no mercado ANDROID, faz um bom tempo então não lembro quais eram/é as resoluções mais utilizadas, mas a tendência são telas grandes e com Aspect Ratio de valor 1,77.. corrijam-me se estiver errado.
O AR nada mais é do que um valor que representa a diagonal de uma tela, ex ( 1280/720=1,77... ), enfim...
Então uma resolução que decidi adotar foi a de 1280x720, que é a resolução do meu celular e também por ser uma resolução HD.
Quando o jogo é em landscape uso 1280x720, quando portrait uso 720x1280.
O funcionamento do código acontece através de uma combinação matemática juntamente com uma view na room, a ideia que tive foi: matematicamente manter o AR de 1,77 em qualquer dispositivo, e fazer um corte na room.. ( O corte é necessário para manter o aspecto e não destorcer seu jogo )
O código abaixo funciona bem para jogos PORTRAIT. ( não ocorreram testes com jogos landscape, quem testar deixa o feedback nos comentários )
- Código:
larg = display_get_width();
alt = display_get_height();
Y = 720/larg; // Este valor de 720 é se seu jogo for feito em 720x1280
view_wview[0] = 720; // Este valor de 720 é se seu jogo for feito em 720x1280
view_hview[0] = alt*Y;
view_yview[0] = (1280 - (alt*Y))/2; // Este valor de 1280 é se seu jogo for feito em 720x1280
E funciona da seguinte forma:
larg: largura da tela do celular
alt: altura da tela do celular
Y: ASPECT RATIO da tela do celular
E os comandos de view vão redimensionar a view para o máximo valor possível para dentro da resolução do celular em que o jogo estiver rodando.
Dependendo da resolução de tela que o jogo estiver sendo rodado, perdas ocorrerão e tais perdas são de:
720x1280 = não perde
480x800 = perde 80px
320x480 = perde 200px
240x320 = perde 320px
Você pode escolher onde a perda vai ser feita, 40px em cima 40px em baixo.. depende de você, no meu código a perda está dividida, meio a meio.
imagem para entender melhor a perda.
essa imagem mostra seu jogo rodando em multi resoluções ( Sendo que o jogo foi produzido em 720x1280 )
Espero que a partir de agora suas produções tornem-se mais profissionais, e que gostem do código! Abraços
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
Gostei, deu para entender perfeitamente, estou a procura disto a tempos.
Kapoty- Games Ranking :
Notas recebidas : E + D + C + B + D +B + A
Data de inscrição : 05/11/2011
Reputação : 22
Número de Mensagens : 635
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 1
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
Obrigado meu parceiro Kapoty, qualquer duvida sua ou de alguém só postar!
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
Muito bom amigo. E aonde deve ser colocado esse código?
WellingtonBecker- Games Ranking :
Notas recebidas : D
Data de inscrição : 09/05/2013
Reputação : 105
Número de Mensagens : 824
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
Em toda room que você for deixar multi resolução, e lembrem-se também de ativar a VIEW na room.
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
gostaria de uma ajuda aqui por que o meu cel ficou com tela cortada nos cantos?
Douglas Felipe- Data de inscrição : 27/01/2015
Reputação : 0
Número de Mensagens : 11
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
Perfeito luan.alc da hora seu método!!
abs.
abs.
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
Douglas Felipe escreveu:gostaria de uma ajuda aqui por que o meu cel ficou com tela cortada nos cantos?
Vá em Global Game Settings > Android > Graphics > Scaling > Full Scale E seja feliz! kk
p.s: e se o seu cortado foi a perda de informação que o jogo tem pra algumas resoluções isso é mais que obrigatório pra pode se adaptar bem a qualquer celular!
Valeu Gonzo, muito obrigado!
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
E Landscape como faz, fiz uns testes aqui e não ficou legal, alguém da uma dica aew.
vlw
vlw
Gonzo- Data de inscrição : 29/05/2012
Reputação : 33
Número de Mensagens : 929
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 0
x 0 x 0 x 0
Re: GMS: Seu jogo MULTI-RESOLUÇÃO
Gonzo escreveu:E Landscape como faz, fiz uns testes aqui e não ficou legal, alguém da uma dica aew.
vlw
É só você usar a mesma lógica, em portrait a gente mantem a proporção em 720, em landscape você vai querer ter perda de informação horizontal ou vertical? não tem como entregar o código pronto, pois não estou em casa.. mas usa a lógica do código e aplica pra funcionar em land, mas creio que seja melhor ainda manter a proporção em 720 e os cortes serem aplicados horizontalmente no caso também cortando de 1280...
luan.alc- Games Ranking :
Notas recebidas : B
Data de inscrição : 13/03/2012
Reputação : 3
Número de Mensagens : 294
Prêmios :
x 0 x 0 x 0
x 0 x 0 x 1
x 0 x 0 x 0
Tópicos semelhantes
» [Resolvido]multi resolucao no game maker 2
» Como escolher resolução do jogo?
» Modificando no jogo a Resolução
» Jogo com resolução horrorosa no GMS
» [DÚVIDA] Ajustando a resolução do seu jogo
» Como escolher resolução do jogo?
» Modificando no jogo a Resolução
» Jogo com resolução horrorosa no GMS
» [DÚVIDA] Ajustando a resolução do seu jogo
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos