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