GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Problema ao entrar por uma porta e voltar por ela
por aminaro Seg 06 maio 2024, 10:08

» Alguém aqui já ganha dinheiro com seus games?
por theguitarmester Ter 30 Abr 2024, 11:43

» Colisões não funcionando
por theguitarmester Ter 30 Abr 2024, 10:16

» Como ajustar velocidade de cada frame da animação no game maker
por pequetux Sex 26 Abr 2024, 16:45

» Preciso de ajuda
por AftonDuGrau Dom 21 Abr 2024, 20:18

» Como faz o evento drawn GUI, não se repetir?
por aminaro Sex 19 Abr 2024, 20:30

» PROBLEMAS COM FÍSICAS DE ÁGUA
por aminaro Ter 16 Abr 2024, 10:07

» Retorno da GMBR!!!
por Ralphed Sex 12 Abr 2024, 22:45

» JOGADOR PARANDO NO AR QUANDO ATACA
por aminaro Qua 10 Abr 2024, 13:51

» Problemas com texto interativo
por Kaaru72 Dom 07 Abr 2024, 11:31

» Erro escondido e indecifrável
por dev_gabize.azv Qui 04 Abr 2024, 10:11

» Mudar cor de apenas uma palavra
por Ralphed Sáb 30 Mar 2024, 00:39

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21


[Resolvido] Alterar view_hport e view_wport por código em execução

2 participantes

Ir para baixo

[Resolvido] Alterar view_hport e view_wport por código em execução Empty [Resolvido] Alterar view_hport e view_wport por código em execução

Mensagem por GabrielXavier Sex 06 Nov 2020, 05:38

Boa noite,

estou  desenvolvendo um aplicativo de mensagens para android que preciso que preencha toda a tela do celular automaticamente independente da resolução da tela e com uma boa qualidade pois vou usar muito texto mas estou tendo problemas para alterar o view_hport e view_wport por códigos, quando eu defino pelas configurações da room as fontes que  desenho na tela ficam perfeitas, chego no resultado esperado porem não tem como ser dinâmico pois cada celular tem uma resolução diferente e preciso  que o app se ajuste automaticamente, mas quando tento fazer por código não funciona a qualidade da impressão na room fica zoada, faltando ate pedaços das letras, parece que quando roda o app  ele pega os dados que estão definidos  nas configurações a room e ate é possível alterar o resultado das variáveis view ports mas parece que não são de fato aplicados os novos valores nas views.

[Resolvido] Alterar view_hport e view_wport por código em execução Screen11


Com  os valores definidos diretamente nas configurações da  room:
[Resolvido] Alterar view_hport e view_wport por código em execução 20201110

Com os valores  tentando aplicar via código:
[Resolvido] Alterar view_hport e view_wport por código em execução Dsfvgd10" />

Sei trabalhar com os valores da resolução e etc, meu celular(s8 plus) da para usar em HD, FHD, e 2K então tenho 3 resoluções diferentes para testar o ajuste automático e o único problema que estou enfrentando é esse view port, se alguém puder me ajudar serei  eternamente grato, já pesquisei bastante por vários dias e não consegui resolver!


Última edição por GabrielXavier em Sex 20 Nov 2020, 14:57, editado 1 vez(es)
GabrielXavier
GabrielXavier

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 40
Número de Mensagens : 399
Prêmios : [Resolvido] Alterar view_hport e view_wport por código em execução Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

[Resolvido] Alterar view_hport e view_wport por código em execução Empty Re: [Resolvido] Alterar view_hport e view_wport por código em execução

Mensagem por Willy Sex 06 Nov 2020, 09:54

O tamanho da tela sempre foi um problema. Fazer a aplicação se ajustar na tela é chamado de "responsividade" (pelo menos tratando-se de WEB) e é uma boa prática desenvolver de modo responsivo. Basicamente, isso significa fazer com que os componentes que aparecem na tela se ajustem da melhor forma possível no espaço que elas têm.
Mas, no mundo dos jogos, responsividade não é possível pois isso significaria "esticar" os sprites, fazendo aquela meleca desproporcional. Seria como habilitar aquela opção "stretch" que tem nas configurações do GM.
Então, para os jogos, adota-se a prática de criar "zonas mortas" na tela, onde nenhuma informação ou controle (input) deve aparecer, pois é uma área destinada a ser cortada pra se adaptar ao aparelho do usuário, respeitando assim seu aspct ratio. Eu escrevi este artigo a uns anos atrás, caso queira dar uma olhada.

Bom, falei falei e nada da solução do seu problema. Para resolver isso no GM, de forma curta e grossa: eu não sei. sorrindo2

Mas, eu vim deixar minha humilde opinião. "Não é porque da pra fazer um app no GM que eu deva fazer no GM".
Não sei do que se trata o seu aplicativo, mas eu optaria por utilizar outras ferramentas mais apropriadas.
Por exemplo, se você tiver familiaridade com desenvolvimento WEB, você pode criar um aplicativo usando Angular + Ionic. Ou, se gostar de Java, pode utilizar o Android Studio pra fazer (se não me engano, conta até com drag n drop dos componentes). Enfim, você tem N possibilidades.
Willy
Willy

Games Ranking : Nota A

Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Reputação : 264
Número de Mensagens : 1890
Prêmios : [Resolvido] Alterar view_hport e view_wport por código em execução Empty

Medalhas x 0 Tutoriais x 2 Moedas x 0

Ouro x 2 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

http://willy-gmbr.blogspot.com/

Super Games e GabrielXavier gostam desta mensagem

Ir para o topo Ir para baixo

[Resolvido] Alterar view_hport e view_wport por código em execução Empty Re: [Resolvido] Alterar view_hport e view_wport por código em execução

Mensagem por GabrielXavier Qui 12 Nov 2020, 21:43

Salve @Willy, primeiramente te agradeço muito pelo comentário e pelos esclarecimentos, e informo que demorei responder seu comentário pois estava fissurado em achar a solução para o problema

Willy escreveu:"Não é porque da pra fazer um app no GM que eu deva fazer no GM"
Concordo 100% com você! Usar o Game Maker para fazer um app é muito inviável existem N's maneiras mais fáceis e mais viáveis !

Mas o role é o seguinte, comprei o Game Maker Studio 2 e comprei a licença na Google play tem mais de 1 ano e nunca criei nem publiquei nada, tanto tempo  sem mexer com o Game Maker me "enferrujou".
Então eu decidi criar algo fácil e complexo ao mesmo tempo e algo que eu possa publicar na Google play para aprender como funciona e para desenvolver minhas habilidades com o GM, e acabei por resgatar um projeto antigo meu, de um aplicativo de frases, aquelas frases para legendas de fotos e status para redes sociais, a base de dados desse aplicativo vai ser online, cadastro de usuários com o facebook ou google play, publicar frases na base online pelo próprio app, segurança do sistema, etc (acho que ja deu pra perceber que estou estudando para fazer um jogo online no futuro hehehe).

Então desenvolvendo este aplicativo "simples" vou resolver muitos problemas com os quais ainda não tenho soluções como este do viewport ai que buga a imagem  ao ser redimensionado durante a execução do game ou app.

E de fato minha estratégia esta funcionado sempre tive problemas com esse view port em jogos responsivos pois qualquer código de responsividade que usei sempre meio que bugava imagem, pesquisei muito e finalmente hoje consegui entender oque acontece e como resolver o problema e vou deixar aqui a solução acho que vai ser muito útil para a comunidade.

O GameMaker trabalha com uma surface para renderizar a tela do game e essa surface é criada assim que o game se inicia com os valores configurados nas propriedades da room ali no game maker, e quando se altera o view port por código durante a execução do projeto, mesmo que seja no create code da room ou  no game start do primeiro objeto da room, o valor das variáveis view hport e wport são alterados mas a surface da aplicação continua com o tamanho anterior e é ai que esta o problema, as imagens ou textos sofrem uma distorção e a solução para este problema é absurda de simples, é necessário apenas redimensionar o tamanho da surface da aplicação! apenas uma linha de código e o problema está  resolvido!

Código:
global.DISPLAY_W = display_get_width(); //Largura da tela do celular
global.DISPLAY_H = display_get_height(); //Altura  da tela do celular

camera_set_view_size(view_camera[0],global.DISPLAY_W,global.DISPLAY_H);

view_wport[0] = global.DISPLAY_W;
view_hport[0] = global.DISPLAY_H;

//A linha abaixo é quem redimensiona a surface da aplicação e corrige o  problema  de distorção do texto ou das imagens
surface_resize(application_surface, view_wport[0], view_hport[0]);

Com esta solução os cantos das imagens não ficam com serrilhados e os textos são desenhados sem absolutamente nenhuma distorção, claro que no meu código acima não estou calculando aspect ratio pois não preciso, apenas preciso que minha aplicação preencha 100% da tela do dispositivo, para quem precisa calcular o tamanho da tela pelo aspect ratio recomendo também que depois de definir a resolução da sua tela e redefinir as view port usar o surface_resize também para não ocorrer a distorção das sprites e textos e assim aumentar absurdamente a qualidade gráfica do seu game!

Assim fica registrado aqui no fórum essa informação que pelo menos eu achei absurdamente útil já que me preocupo muito com a definição e qualidade de imagens e texto do projeto.

Abaixo algumas capturas de tela rodando com o mesmo código em duas resoluções diferentes para mostrar o resultado:
Imagens:
GabrielXavier
GabrielXavier

Games Ranking : Nota A

Notas recebidas : A
Data de inscrição : 25/02/2012
Reputação : 40
Número de Mensagens : 399
Prêmios : [Resolvido] Alterar view_hport e view_wport por código em execução Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 1 Bronze x 1

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Plataformas :
  • Game Maker Studio 2.0


Ir para o topo Ir para baixo

[Resolvido] Alterar view_hport e view_wport por código em execução Empty Re: [Resolvido] Alterar view_hport e view_wport por código em execução

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos