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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Tamanho da view

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?
avatar
Data de inscrição : 23/09/2008
Número de Mensagens : 169
Insígnias de JAM :

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

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

Re: Tamanho da view

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é.
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Tamanho da view

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?
avatar
Data de inscrição : 23/09/2008
Número de Mensagens : 169
Insígnias de JAM :

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

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

Re: Tamanho da view

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!

...
avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Tamanho da view

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.
Data de inscrição : 29/01/2011
Número de Mensagens : 800
Insígnias de JAM :

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

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

Re: Tamanho da view

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.

avatar
Ranking : Nota B
Notas recebidas : C-D-A-B
Data de inscrição : 14/01/2011
Número de Mensagens : 2964
Insígnias de JAM :

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

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

Re: Tamanho da view

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.
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