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 fazer o personagem parar ao soltar um tecla?

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

Como fazer o personagem parar ao soltar um tecla?

Mensagem por Autumnkun » Seg Mai 04, 2020 8:15 am

Como Faço Para o Personagem Parar Apos Ele Não Apertar Mais Um Botão, Sou Novato Preciso De Ajuda No Meu Segundo Jogo, Uso GM 1.4

Avatar do usuário
Rodrigo_GM
Membro
Membro
Reações: 0
Mensagens: 23

Re: Re: Ajuda,Movimentação

Mensagem por Rodrigo_GM » Seg Mai 04, 2020 1:28 pm

Olá, há varias maneiras fazer isso, mas não sei como está seu código. então vou tentar ajudar dessa maneira.

Pense assim! Se eu apertar o botão, ele move. ok? Agora se o botão não tiver apertado, ele não mover! Mas como colocar em código? é bem simples.
O Código, ou melhor a estrutura condicional  if no Gamemaker representar literalmente "Se".
Um exemplo: "Se" eu estive apertado o botão, eu faço algo..

Código: Selecionar todos

if (keyboard_check(vk_left)){ x-=2;}
No código acima, podemos entender assim. Se eu estiver apertando o botão, movo 2 pixels para esquerda. Sempre que o SE for verdadeiro ele faz a ação. Se não estive apertando o botão ele não vai se mover. No seu caso talvez vc esteja usando hspeed em seu codigo. O hspeed representar velocidade horizontal.velocidade que vai da esquerda como -1 e para direita como +1.

Código: Selecionar todos

if (keyboard_check(vk_left)){ hspeed=-2};
O play irar se mover mas não vai parar. ele não vai parar, mas porque não para? simplesmente porque vc disse que a velocidade é hspeed=-2, mas não disse quando o hspeed voltara para 0, para corrigir isso basta fazer assim

Código: Selecionar todos

if (keyboard_check(vk_left)){ hspeed=-2}
    else  {    hspeed=0    }
O Código, ou melhor a estrutura condicional Else, é bem interessante. pode ate se entendida como se não.
Um exemplo: "Se" eu estive apertado o botão, eu faço algo., Mas se não estive apertando o botão, faço algo diferente.

Mas se vc tentar fazer do mesmo jeito para ir para o outro lado, não vai da certo. porque sempre que vc n apertar o botão para esquerda o hspeed vai ser 0. para corrigir isso basta fazer assim.

Código: Selecionar todos

if (keyboard_check(vk_left)){ hspeed=-2}
    else  {    
        if (keyboard_check(vk_right)){hspeed=2}
            else {hspeed=0}   
          }
Esse vou deixa para vc entender sozinho.

veja esses tutoriais do Alex que vai te ajuda muito, ele explica muito melhor e tem video lá Video aulas game maker

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 0 visitante