Obrigado por visitar a The Game Makers Brasil |
Problema com GM:S
Problema com GM:S
. Eae, faz tempo que não posto perguntando, hehe, mas estou com um problema aqui, é o seguinte tentei adaptar minha engine
de transição de tela como se estivesse virando uma pagina que fiz originalmente no gm8, para o GM:S e não estava dando certo de jeito nehum
então fui fazendo testes e mais testes, na minha engine eu uso draw_primitive_begin_texture, no gm 8.0 ta funcionando corretamente mas no GM:S
desenha menor do que eu programei, isso ocorre quando salvo a tela e crio um background com a imagem que salvei, se eu usar uma background que ja esta no jogo
ele fica correto, fica até melhor do que no gm 8.0 que perde um pouco de resolução, mas se dou load ele fica menor.
. Eu fiz uma engine que tem os códigos que funcionam em ambos, é possivel abrir o mesmo projeto tanto no gm 8.0, quanto no GM:S, mas no GM:S fica menor do que esta programado, quem puder dar uma olhada, tem o download abaixo.
. Qual seria o problema para executar o mesmo projeto, com códios que funcionam nod dois, mas distorcido no GM:S?
. Para testar, basta pressionar para cima
GMK vs GM:S
de transição de tela como se estivesse virando uma pagina que fiz originalmente no gm8, para o GM:S e não estava dando certo de jeito nehum
então fui fazendo testes e mais testes, na minha engine eu uso draw_primitive_begin_texture, no gm 8.0 ta funcionando corretamente mas no GM:S
desenha menor do que eu programei, isso ocorre quando salvo a tela e crio um background com a imagem que salvei, se eu usar uma background que ja esta no jogo
ele fica correto, fica até melhor do que no gm 8.0 que perde um pouco de resolução, mas se dou load ele fica menor.
. Eu fiz uma engine que tem os códigos que funcionam em ambos, é possivel abrir o mesmo projeto tanto no gm 8.0, quanto no GM:S, mas no GM:S fica menor do que esta programado, quem puder dar uma olhada, tem o download abaixo.
. Qual seria o problema para executar o mesmo projeto, com códios que funcionam nod dois, mas distorcido no GM:S?
. Para testar, basta pressionar para cima
GMK vs GM:S
Re: Problema com GM:S
No GMS você só pode usar texturas com dimensões na potência de 2, ou seja, 32x32, 64x64, 128x128, 256x256, 512x512 e assim vai (Isso ajuda na otimização das imagens no processamento gráfico). Para usar como background normal não há problemas, agora se vai usar como textura em polígonos tanto 2D como 3D essas imagens precisam ser tratadas de forma diferente, até para funcionar melhor nas diversas plataformas que o GMS exporta.
No caso, como a dimensão não é a ideal (640x480) os calculos ficam incorretos e as vértices ficam onde não deveriam.
FLWS!
No caso, como a dimensão não é a ideal (640x480) os calculos ficam incorretos e as vértices ficam onde não deveriam.
FLWS!
Re: Problema com GM:S
. Mas faça o teste, use o backgroun que ja esta no jogo, é o mesmo e também tem 640x480, ele funciona certinho sendo usado como textura, só não esta funcionando quando eu salvo e screen e uso como textura,
Re: Problema com GM:S
Exatamente por isso, a que você tem no jogo já tá numa texture page de 2048x2048, já a que você carregou não.
FLWS!
FLWS!
Re: Problema com GM:S
. Ok, você tem uma idéia de como resolver esse problema, no caso vou ter que desenhar na tela distorcido antes do save_screen, pra ficar com um dos tamanhos, tipo 512X512?
Edit:
. Consegui resolver dessa maneira, no xtex 640/1024 e no ytex 480/512, ou seja eu divido o tamanho real pelo potencial de 2 maior que o valor real, deu certo assim, valeu
pode trancar o tópico se quiser, ta resolvido.
Edit:
. Consegui resolver dessa maneira, no xtex 640/1024 e no ytex 480/512, ou seja eu divido o tamanho real pelo potencial de 2 maior que o valor real, deu certo assim, valeu
pode trancar o tópico se quiser, ta resolvido.
Editado pela última vez por thyago em Sex Jun 03, 2016 12:01 pm, em um total de 1 vez.
Re: Problema com GM:S
Como a imagem é maior horizontalmente, o certo é salvar numa textura 1024x1024:
Depois desenhar calculando onde ficaram os limites da imagem:
Lá no começo tu pode fazer um calculo pra determinar qual vai ser o tamanho da textura com base na largura ou altura que é maior da imagem. Não deu tempo de fazer aqui, estou saindo pro almoço.
FLWS!
Código: Selecionar todos
mySurf = surface_create(1024, 1024);
surface_copy(mySurf, 0, 0, application_surface);
surface_save(mySurf,"pag_d.png");
surface_free(mySurf);
pag_d = background_add("pag_d.png",0,1);
Código: Selecionar todos
draw_set_color(c_white);
draw_primitive_begin_texture(pr_trianglefan ,background_get_texture(pag_d))
var xx = (1024/view_wview);
var yy = (1024/view_hview);
draw_vertex_texture(0,0,0,0);
draw_vertex_texture(view_wview * xx,0,1,0);
draw_vertex_texture(view_wview * xx,view_hview * yy,1,1);
draw_vertex_texture(0,view_hview * yy,0,1);
draw_primitive_end();
FLWS!
Re: Problema com GM:S
. Alex, eu resolvi não deu tempo de postar antes de você postar essa hehe, foi mais simples do que isso, eu só divido o xtex e ytex , pelo valor potencial de 2 maior que ele, o proximo no caso, 640/1024 e 480 por 512, valeu pode trancar.
ficou assim:
ficou assim:
Código: Selecionar todos
draw_set_colour(c_white);
draw_primitive_begin_texture(pr_trianglefan ,background_get_texture(pag_d)){
draw_vertex_texture(0,0,0,0)
draw_vertex_texture(view_wview ,0,640/1024,0)
draw_vertex_texture(view_wview ,view_hview,640/1024,480/512)
draw_vertex_texture(0,view_hview,0,480/512)
draw_primitive_end();
}
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 9 visitantes