Tamanho da view

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

Tamanho da view

Mensagem por saim em Qui 02 Jun 2011, 23:32

Eu tenho uma animação que quero mostrar no final do jogo (não é um vídeo).
Eu tenho esse jogo que se adapta ao tamanho da tela do jogador. Consegui dispor todos os objetos em função do tamanho da tela, mas nenhuma room usa views.
Mas a animação usa. E não estou conseguindo fazer ela se adaptar à tela.
Eis o código que usei pra adaptar a room (colocado numa room anterior):
Código:
wid=display_get_width()
hei=display_get_height()
room_set_width(room_movie,wid)
room_set_height(room_movie,hei)
window_set_fullscreen(1)
room_goto(room_movie)
E, no create event do objeto da animação, coloquei:
Código:
view_wview[0]=room_width
view_hview[0]=room_height
Rodei o jogo em debug mode, os valores da view_wview[0] e do display_get_width() foram 1024 e os valores da view_hview[0] e display_get_height() foram 768. Ainda assim, os desenhos ficaram distorcidos.

O que estou fazendo errado?

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Tamanho da view

Mensagem por ricaun em Qui 02 Jun 2011, 23:40

Opa! Se não me engando vc precisa colorar mais esse code!

No event do objeto da animação!
Código:
view_wport[0]=room_width
view_hport[0]=room_height

Ficando assim!
Código:
view_wview[0]=room_width
view_hview[0]=room_height
view_wport[0]=room_width
view_hport[0]=room_height

Acho que assim vai funcionar! Não esqueça que o view no room tem que estar ligado!

Se for ou não for isso fale!

Té.

ricaun

Número de Mensagens : 169
Idade : 27
Data de inscrição : 23/09/2008
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Tamanho da view

Mensagem por saim em Sex 03 Jun 2011, 00:03

Não era. Quer dizer, mais ou menos. Melhorou, mas não 100%. Os gráficos ficaram mais proporcionais, mas maiores, e eu queria que não houvesse nenhuma mudança na escala. Além disso, como a room cresceu, parece que a view só se adaptou ao tamanho da tela (não cresceu junto), porque o que era pra aparecer, ficou cortado.

O que view_port significa?

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Tamanho da view

Mensagem por ricaun em Sex 03 Jun 2011, 00:20

É a região que o view é pintada no room!
Com isso se pode colocar mais de um view no mesmo room, como um view pro player1 e outro pro player2, separados é claro!

...

ricaun

Número de Mensagens : 169
Idade : 27
Data de inscrição : 23/09/2008
Reputação : 9
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Tamanho da view

Mensagem por saim em Sex 03 Jun 2011, 08:43

Hm. Teoricamente, seu código daria certo. Mas um objeto que é criado no meio da room (na vertical) fica mostrado na parte de baixo da tela. E o texto fica com a fonte aumentada.
Você tem mais idéias? Eu não tenho.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Tamanho da view

Mensagem por GameMakerTutoriais em Sab 04 Jun 2011, 20:03

Olá saim. Tomara que não seja tarde pra ajudar alguma coisa...

Tenta usar um esqueminha básico de proporções. Provavelmente você já deve conhecer o termo "aspect ratio"... isso faz uma divisão entre a dimensão maior do vídeo pela menor e com base no resultado é possível escalar tudo dentro dessa proporção. Tenta isso:

Código:
hei = display_get_height()

ratio := room_get_width(room_movie)/room_get_height(room_movie);

wid = hei * ratio;

room_set_width(room_movie,wid)
room_set_height(room_movie,hei)
window_set_fullscreen(1)
room_goto(room_movie)

Abraços.


GameMakerTutoriais

Número de Mensagens : 800
Data de inscrição : 29/01/2011
Reputação : 26
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: Tamanho da view

Mensagem por saim em Dom 05 Jun 2011, 09:15

Oi, Ninja8086! Obrigado pela tentativa, mas o problema não é com relação à proporção da escala, mas ao fato em si de haver alguma escala.
Encontrei uma solução estranhíssima, aqui. Mais uma coincidência do que lógica. Na primeira room, eu coloquei:
"global.text=1"
e, no começo da animação, eu coloquei:
Código:
if variable_global_exists("global.teste"){
    view_wport[0]=room_width
    view_hport[0]=room_height
    view_wview[0]=room_width
    view_hview[0]=room_height
    view_xport[0]=0
    view_yport[0]=0
    view_xview[0]=0
    view_yview[0]=0
    y=view_hview/2
    }
e deu uma melhorada. Não resolveu, mas deu uma melhorada. Estranho, se eu não rodar o teste "if", simplesmente mandar executar o que está dentro do if, a posição "y" do objeto não é atualizada.
Deixa eu upar o filminho pra vocês verem:
Edit: Foi mal pela outro filme, esta aqui é a versão com o teste.
Edit2: fiz isso pra possibilitar inverter a ordem das rooms e ver o filme como se não houvesse nada mudando o tamanho da view.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: Tamanho da view

Mensagem por Conteúdo patrocinado Hoje à(s) 09:51


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum