Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Como fixar menu em tela Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
leandroz3ta
Novato
Novato
Reações: 0
Mensagens: 13

Como fixar menu em tela

Mensagem por leandroz3ta » Dom Ago 28, 2016 12:17 pm

Olá pessoal! Estou com uma dúvida referente a menu em telas cujo background é maior que a própria room visível.
Estou fazendo um jogo com tela estilo pokémon Go, já consegui fixar o avatar do jogador na tela com a opção draw GUI. O problema agora é fixar o que seria no caso o botão da pokébola no pokémon Go.
No meu caso estou usando um objeto, pois não sei há outra forma de interação.
Preciso fixá-lo na tela de forna quando quando o personagem se mover o botão não saia da parte visível da room.

Avatar do usuário
gabrielsch
Colaborador
Colaborador
Reações: 0
Mensagens: 234

Re: Como fixar menu em tela

Mensagem por gabrielsch » Dom Ago 28, 2016 4:29 pm

No step do objeto do botão faça com que as coordenadas X e Y acompanhem as mesmas coordenadas da view, desse jeito:
[codigo=gml]x = view_xview + 64
y = view_yview + 64[/codigo]
O código faz com que a posição do objeto seja a mesma da view mas com deslocamento de 64 pixels para direita e para baixo, altere os valores de acordo com a posição que você deseja.

Se estiver usando uma view que tem sua largura e altura variável você pode usar dessa forma para centralizar;
[codigo=gml]x = view_xview + view_wview/2
y = view_yview + view_hview/2[/codigo]
Ao invés de 64 pixels de deslocamento agora é utilizado metade da largura e altura da view para centralizar o objeto.
Imagem

Avatar do usuário
leandroz3ta
Novato
Novato
Reações: 0
Mensagens: 13

Re: Como fixar menu em tela

Mensagem por leandroz3ta » Seg Ago 29, 2016 11:36 pm

gabrielsch escreveu:No step do objeto do botão faça com que as coordenadas X e Y acompanhem as mesmas coordenadas da view, desse jeito:
[codigo=gml]x = view_xview + 64
y = view_yview + 64[/codigo]
O código faz com que a posição do objeto seja a mesma da view mas com deslocamento de 64 pixels para direita e para baixo, altere os valores de acordo com a posição que você deseja.

Se estiver usando uma view que tem sua largura e altura variável você pode usar dessa forma para centralizar;
[codigo=gml]x = view_xview + view_wview/2
y = view_yview + view_hview/2[/codigo]
Ao invés de 64 pixels de deslocamento agora é utilizado metade da largura e altura da view para centralizar o objeto.
Muito obrigado!!! Deu certo! Agora preciso apenas de mais uma ajudinha, utilizei o código x=view_xview + 64
Y=view_yview + 64
Quando a view se movimenta, o botão move-se alguns pixels de acordo com a direção e volta pra posição correta quando a view chega ao fim da tela.
Como posso corrigir isso?

Avatar do usuário
gabrielsch
Colaborador
Colaborador
Reações: 0
Mensagens: 234

Re: Como fixar menu em tela  Tópico resolvido

Mensagem por gabrielsch » Ter Ago 30, 2016 8:18 am

Esse delay acontece porque a atualização é feita no Step, no Draw do seu objeto faça com que ele utilize as mesmas coordenadas:
var xx, yy;
xx = view_xview + 64
yy = view_yview + 64
draw_sprite(minha_sprite, 0, xx, yy)
Imagem

Avatar do usuário
leandroz3ta
Novato
Novato
Reações: 0
Mensagens: 13

Re: Como fixar menu em tela

Mensagem por leandroz3ta » Seg Out 10, 2016 10:54 pm

gabrielsch escreveu:Esse delay acontece porque a atualização é feita no Step, no Draw do seu objeto faça com que ele utilize as mesmas coordenadas:
var xx, yy;
xx = view_xview + 64
yy = view_yview + 64
draw_sprite(minha_sprite, 0, xx, yy)
Deu Certo! Vlw!!!!! Muito Obrigado!

Podem Encerrar o tópico!

Trancado

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 8 visitantes