personagem so usa uppercut pra um dos lados
Enviado: Sáb Dez 26, 2020 1:50 am
boa noite, estou fazendo um metroidvania, e estou inserindo um uppercut como o do Richter do castlevania Sotn. porem apos configurar parece que ele ta grudado no chão, se eu uso no ar ele vai direto pro chão e a animaçao acontece perfeitamente favor favor me ajudem a corrigir o codigo do uppercut ( meu primeiro game)
codigos
obj_ player: step
//Iniciando variaveis
var rigth, left, up, down, jump, attack, bladedarsh, hkick, uppercut;
var chao = place_meeting(x, y + 1, obj_block)
rigth = keyboard_check(ord("D"));
left = keyboard_check(ord("A"));
up = keyboard_check(ord("W"));
down = keyboard_check(ord("S"));
jump = keyboard_check_pressed(ord("K"));
attack = keyboard_check_pressed(ord("J"));
bladedarsh = keyboard_check_pressed(ord("H"));
hkick = keyboard_check_pressed(ord("N"));
uppercut = keyboard_check_pressed(ord("B"));
//Aplicando gravidade
if (!chao)
{
if (velv < max_velv * 2)
{
velv += GRAVIDADE * massa;
}
}
//Código de movimentação
velh = (rigth - left) * max_velh;
//Iniciando a máquina de estados
switch(estado)
{
case "uppercut":
{
sprite_index = spr_player_uppercut
//velocidade
velh = image_xscale * 1;
velv = 10;
//Saindo do estado
if (image_index >= image_number-1)
{
estado = "parado";
}
break;
}
codigos
obj_ player: step
//Iniciando variaveis
var rigth, left, up, down, jump, attack, bladedarsh, hkick, uppercut;
var chao = place_meeting(x, y + 1, obj_block)
rigth = keyboard_check(ord("D"));
left = keyboard_check(ord("A"));
up = keyboard_check(ord("W"));
down = keyboard_check(ord("S"));
jump = keyboard_check_pressed(ord("K"));
attack = keyboard_check_pressed(ord("J"));
bladedarsh = keyboard_check_pressed(ord("H"));
hkick = keyboard_check_pressed(ord("N"));
uppercut = keyboard_check_pressed(ord("B"));
//Aplicando gravidade
if (!chao)
{
if (velv < max_velv * 2)
{
velv += GRAVIDADE * massa;
}
}
//Código de movimentação
velh = (rigth - left) * max_velh;
//Iniciando a máquina de estados
switch(estado)
{
case "uppercut":
{
sprite_index = spr_player_uppercut
//velocidade
velh = image_xscale * 1;
velv = 10;
//Saindo do estado
if (image_index >= image_number-1)
{
estado = "parado";
}
break;
}