Conectar-se
Quem está conectado
33 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 33 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

[Dúvida] window_set_size e barras de vida Bugando!

em Qui 01 Maio 2014, 23:11
Boa noite pessoal, beleza?

To com um problema que compromete a HUD do meu game: uso window set size para permitir que o jogador redimensione a janela do jogo, ae as funções draw que uso para criar a HUD bugam e fazem as coisas se deslocarem alguns pixels e fica feio

O tamanho original da room é 240 x 320, ae uso pro exemplo, window_set_size(240*2,320*2) para deixar maior, só que buga...

Do modo que estou fazendo, está errado? As bordas da janela são contadas ou só o tamanho da room?

Obrigado ae Happy

EDIT:
Eu uso view_xview e view_yview para orientar os draws


Última edição por dharrison em Sex 16 Maio 2014, 02:55, editado 1 vez(es)
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Dom 04 Maio 2014, 14:54
Upando o Tópico depois de 48 horas de Inatividade

Minha dúvida ainda não foi sanada  tonto
Ranking : Nota C
Notas recebidas : C+B
Data de inscrição : 26/07/2008
Número de Mensagens : 6037
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 288

Prêmios
   :
   :
   :
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Dom 04 Maio 2014, 16:09
Reputação da mensagem: 100% (1 votos)
Mude o view_w/hview e o view_w/hport também.

Só que precisa ir para outra room e voltar à atual. Mesmo assim, é só colocar persistent temporariamente.
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Dom 04 Maio 2014, 16:12
Nesse caso complica, pq tudo ocorre na mesma room
Agora nao sei se a conta esta errada ou nao

Mesmo usando valores absolutos (ao inves de views) isso buga
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 71

Prêmios
   : 1
   : 2
   : 1
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Dom 04 Maio 2014, 19:40
Reputação da mensagem: 100% (1 votos)
Utilize o evento draw gui pra desenhar a hud e use esta função para definir a nova gui
display_set_gui_size(view_wview,view_hview);
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Dom 04 Maio 2014, 19:42
cascavelo escreveu:Utilize o evento draw gui pra desenhar a hud e use esta função para definir a nova gui
display_set_gui_size(view_wview,view_hview);

isso é do GMS? o meu é GM 8.0 PRO
avatar
Ranking : Nota A
Notas recebidas : A - A - A - A - A -A -C
Data de inscrição : 08/12/2011
Número de Mensagens : 1011
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 71

Prêmios
   : 1
   : 2
   : 1
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Seg 05 Maio 2014, 09:16
Achei que fosse pro GMS, você não baixou ele na promoção?

O evento draw gui surgiu no GMS pra solucionar justamente o tipo de problema que você tem. No GM8 dá uns bugs estranhos mesmo ao redimensionar  janelas, piora quando se executa o game em um pc com video em aspecto diferente ao do pc onde o jogo foi programado.
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Seg 05 Maio 2014, 10:22
Reputação da mensagem: 100% (1 votos)
Isso não faz muito sentido...
Se você esta distorcendo só a janela a imagem final do jogo acompanha essa distorção mas as coisas não mudam de lugar, ainda mais em multiplos da resolução original.

Coloca ai alguns screenshoots.  sorrindo2
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Seg 05 Maio 2014, 11:29
cascavelo escreveu:Achei que fosse pro GMS, você não baixou ele na promoção?

O evento draw gui surgiu no GMS pra solucionar justamente o tipo de problema que você tem. No GM8 dá uns bugs estranhos mesmo ao redimensionar  janelas, piora quando se executa o game em um pc com video em aspecto diferente ao do pc onde o jogo foi programado.

Não, eu estava ausente do fórum e nem vi a promoção.

Kabeção escreveu:Isso não faz muito sentido...
Se você esta distorcendo só a janela a imagem final do jogo acompanha essa distorção mas as coisas não mudam de lugar, ainda mais em multiplos da resolução original.

Coloca ai alguns screenshoots.  sorrindo2

Vou colocar, na imagem maior tava certo ainda nao tinha redimensionado nas Opções do Game, agora olha depois...

Primeira Imagem:
Imagens Distorcidas:

avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Seg 05 Maio 2014, 11:59
Entendi.
Pensei que isso não era o caso no GM8.0 mas parece que ele também usa as funções padrões do DirectX para desenhar formas primitivas.
Por exemplo, se você desenhar um circulo e aumentar a resolução da janela, o círculo não ficara pixelizado porque a api gráfica vai sempre desenhar a forma perfeitamente independente da resolução.
Isso causa muitos problemas de alinhamento além de não se parecer com pixel art.

Uma solução é usar sprites ao invés das funções e o draw_sprite_ext.
Faça uma imagem com 1 pixel de largura e use image_xscale para mudar o tamanho, além disso se for branca, você pode facilmente mudar a cor com image_blend.
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Seg 05 Maio 2014, 12:15
Kabeção escreveu:Entendi.
Pensei que isso não era o caso no GM8.0 mas parece que ele também usa as funções padrões do DirectX para desenhar formas primitivas.
Por exemplo, se você desenhar um circulo e aumentar a resolução da janela, o círculo não ficara pixelizado porque a api gráfica vai sempre desenhar a forma perfeitamente independente da resolução.
Isso causa muitos problemas de alinhamento além de não se parecer com pixel art.

Uma solução é usar sprites ao invés das funções e o draw_sprite_ext.
Faça uma imagem com 1 pixel de largura e use image_xscale para mudar o tamanho, além disso se for branca, você pode facilmente mudar a cor com image_blend.

Hmm, vlw por me ajudar a entender o Problema Kabeção
Eu tinha pensando em uasr sprites para isso, mas fica a duvida: os sprites não vão distorcer o alinhamento também? (eestou usando posição absoluta da Room para posicionar tudo)
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Seg 05 Maio 2014, 14:14
Reputação da mensagem: 100% (1 votos)
O problema é como a api desenha as formas.
São como vetores, tudo é calculado e desenhado dinamicamente, se você desenhar uma linha de 1px, mesmo que você dobre a resolução a linha ainda terá 1px enquanto as imagens do jogo serão propriamente distorcida por serem bitmaps.

É isso que gera o problema de alinhamento.
Como isso era algo novo (não era assim no GM7), parece que não tinham percebido esse bug e otimizado a engine para resolver esses problemas por conta própria.
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Seg 05 Maio 2014, 14:20
Kabeção escreveu:O problema é como a api desenha as formas.
São como vetores, tudo é calculado e desenhado dinamicamente, se você desenhar uma linha de 1px, mesmo que você dobre a resolução a linha ainda terá 1px enquanto as imagens do jogo serão propriamente distorcida por serem bitmaps.

É isso que gera o problema de alinhamento.
Como isso era algo novo (não era assim no GM7), parece que não tinham percebido esse bug e otimizado a engine para resolver esses problemas por conta própria.

Entendi, eu vou fazer uns testes assim que chegar em casa, ae se resolver trancarei o tópico
Muito obrigado pela força Happy
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Sex 16 Maio 2014, 02:20
Pois é, passou alguns dias tentei resolver usando draw_sprite_ext mas continua o mesmo problema, vejam:



isso não faz sentido algum..
Alguém poderia me ajudar com isso? :/

EDIT:
Pessoal, tá possuído pelo capiroto!
Criei um objeto que carrega o sprite ao invés de usar Draw, e até com o objeto estando em posição absoluta na room acontece esse bug!!
Não entendo, mesmo .. .-.
avatar
Ranking : Nota C
Notas recebidas : C
Data de inscrição : 07/09/2010
Número de Mensagens : 1400
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 21

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Sex 16 Maio 2014, 08:35
Tem como postar o source ou os códigos que você tá usando? Fica mais fácil para alguém tentar achar uma solução.
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Sex 16 Maio 2014, 09:58
Mr. Kaleb escreveu:Tem como postar o source ou os códigos que você tá usando? Fica mais fácil para alguém tentar achar uma solução.

É complicado pq é do meu jogo Planet Wars, que tem 50 MB
Mas estou usando a forma mas simples dos códigos, eu imagino que o problema seja no redimesionamento da janela, pq quando o jogo inicia com a tela grande ou pequena fica tudo certo
Ah, outra coisa que acontece, é que quando use o comando game_restart, o jogo não reinicia, buga toda a tela e tal, acho que é coisa do GM 8.0

Mas tai os códigos:
SCRIPT DRAW
Código:
/Desenha quantidade de Energia, Vidas, Bombas, Munição e Score
draw_text(28,309,"x"+string(global.vidas))
draw_set_halign(fa_right)
draw_text(234,280,global.pontos)
draw_set_halign(fa_left)
/*if obj_player.morto=false{draw_sprite_ext(spr_bar,0,24,279,(obj_player.vida*0.32),(0.7),0,c_red,1)}
else{draw_text(24,280,"DEAD")}*/
draw_set_color(c_lime)
draw_text(115,280,obj_player.muni)
draw_set_color(c_fuchsia)
draw_text(160,280,"x"+string(obj_player.bombs))

////Aliados:
//Fran:
if instance_exists(obj_fran){
if obj_fran.morto=false{draw_sprite_ext(spr_bar,0,24,289,(obj_fran.vida*0.64),(0.7),0,c_fuchsia,1)}
else{draw_text(24,290,"DEAD")}
}
//Thor:
if obj_thor.morto=false{draw_sprite_ext(spr_bar,0,24,299,(round((obj_thor.vida*0.213))),(0.7),0,c_lime,1)}
else{draw_text(24,300,"DEAD")}

REDIMENSIONAR TELA
Código:
ini_open("userconfig.cfg")
    i=ini_read_real("options","tela",0)
        if i=0
    {
    window_set_size(240,320);
    window_center()
    }
        if i=1
    {
    window_set_size(240*2,320*2);
    window_center()
    }
        if i=2
    {
    window_set_size(240*3,320*3);
    window_center()
    }
        if i=3
    {
    window_set_fullscreen(true);
    }
    else
    {
    window_set_fullscreen(false);
    }
    ini_close();


EDIT:
Acho que descobri a raiz do problema, é o Global Game Settings


Se eu coloco Keep Aspect Ratio ou Fullscreen ocorre esse bug
Se eu coloco Fixed Scale in 100% o Draw fica perfeito, mas a janela não aumenta e nem diminui....

E agora?
avatar
Ranking : Sem avaliações
Data de inscrição : 08/06/2008
Número de Mensagens : 2314
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 100

Prêmios
   : 3
   : 0
   : 1
Ver perfil do usuáriohttp://blackcapapps.blogspot.com.br/

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Sex 16 Maio 2014, 12:07
Você deveria aumentar também o view_w/hport além do tamanho da janela.
avatar
Ranking : Nota B
Notas recebidas : A - B
Data de inscrição : 04/02/2009
Número de Mensagens : 1243
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 1
Reputação : 89

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Dúvida] window_set_size e barras de vida Bugando!

em Sex 16 Maio 2014, 19:07
Kabeção escreveu:Você deveria aumentar também o view_w/hport além do tamanho da janela.

o scratchware_dev me passou uma engine que fazia isso, mas tbm nao deu certo
Eu arranjei uma solução temporária, reiniciar o jogo pra aplicar as configurações

Mas vlw o apoio gente Happy
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum