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?
Podem Encerrar o tópico!
Obrigado por visitar a The Game Makers Brasil |
Como fixar menu em tela Tópico resolvido
- leandroz3ta
- Novato
- Reações: 0
- Mensagens: 13
-
Como fixar menu em tela
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.
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.
- gabrielsch
- Colaborador
- Reações: 0
- Mensagens: 234
-
Re: Como fixar menu em tela
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.
[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.

- leandroz3ta
- Novato
- Reações: 0
- Mensagens: 13
-
Re: Como fixar menu em tela
Muito obrigado!!! Deu certo! Agora preciso apenas de mais uma ajudinha, utilizei o código x=view_xview + 64gabrielsch 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.
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?
- gabrielsch
- Colaborador
- Reações: 0
- Mensagens: 234
-
Re: Como fixar menu em tela Tópico resolvido
Esse delay acontece porque a atualização é feita no Step, no Draw do seu objeto faça com que ele utilize as mesmas coordenadas:
Código: Selecionar todos
var xx, yy;
xx = view_xview + 64
yy = view_yview + 64
draw_sprite(minha_sprite, 0, xx, yy)

- leandroz3ta
- Novato
- Reações: 0
- Mensagens: 13
-
Re: Como fixar menu em tela
Deu Certo! Vlw!!!!! Muito Obrigado!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:Código: Selecionar todosvar xx, yy; xx = view_xview + 64 yy = view_yview + 64 draw_sprite(minha_sprite, 0, xx, yy)
Podem Encerrar o tópico!
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 7 visitantes