Página 1 de 1

Como fazer o personagem correr quando apertar shift

Enviado: Dom Mar 29, 2020 1:26 pm
por Srjhonny
Olá pessoal, sou novo aqui.
Estou criando um Jogo top Down, já fiz os esquemas de movimento, queria saber como faço para o player correr.
Exemplo: estou com a tecla up (ou qualquer outra tecla direcional) pressionada, o personagem esta se movimentando na velocidade normal. Se eu apertar a tecla shift (com a tecla up pressionada) a velocidade aumenta para dar uma impressão de que o personagem começou a correr. Se eu soltar a tecla shift a velocidade volta ao normal, e se eu pressionar a tecla shift sem estar pressionando nenhuma tecla direcional não acontece nada.

Re: Como fazer o personagem correr quando apertar shift  Tópico resolvido

Enviado: Dom Mar 29, 2020 1:45 pm
por NPH
um simples código e duas variáveis locais resolvem seu problema amigo!

Código: Selecionar todos

var velcorrida=2; //velocidade adicional ao correr
var correr=keyboard_check(vk_shift)*velcorrida;
aí na parte onde está a velocidade você adiciona "correr".
Exemplo:

Código: Selecionar todos

if keyboard_check(vk_up)
{
 y-=4+correr;
}
Explicando um pouco:
var velcorrida=2 é a velocidade adicional, nesse caso 2
var correr=keyboard_check(vk_shift)*velcorrida irá retornar a velocidade apenas se a tecla shift for pressionada porque a função keyboard_check() retorna 1 (true, pressionada) ou 0 (false, não pressionada) e multiplicando esse 1 com a variável "velcorrida" fará "correr" retornar nesse caso 2.
[edit]
teve uma troca de números ali na explicação e já foi corrigido xD

Re: Como fazer o personagem correr quando apertar shift

Enviado: Dom Mar 29, 2020 5:29 pm
por Srjhonny
Não deu certo, quando aperto o shift não ocorre nada.
Penso que o erro está sendo meu. Em quais eventos coloco os códigos?

Re: Como fazer o personagem correr quando apertar shift

Enviado: Dom Mar 29, 2020 5:34 pm
por NPH
no step event, onde você programou a movimentação :D
Falha minha não ter te avisado :C
código de movimentação é sempre no step, pois acontece a cada frame!