"dar"
Você está pedindo algo pronto pra você.
Isso não me parece muito humilde kkkkkkk
To zoando colega
Basicamente você vai precisar de uma variável para determinar a ação atual.
Creat -
Código: Selecionar todos
act = "idle"; // idle é parado.
dontmove = 0; // variavel que impede movimento
step
Código: Selecionar todos
//tx sempre sera reduzido.
if (tx > 0)
tx -= 1;
if (dontmove > 0)
dontmove -= 1;
else
{
//ele verificou se esta em condições de se movimentar
//aqui vamos pegar a direcao pressionada pelo teclado
var haxys ,vaxys;
haxys = 0;
vaxys = 0;
if (keyboard_check(vk_up))
vaxys = -1;
if (keyboard_check(vk_down))
vaxys = 1;
if (keyboard_check(vk_right))
haxys = 1;
if (keyboard_check(vk_left))
haxys = -1;
//e agora movimenta-lo de acordo com os valores obtidos
if ((abs(haxys) > 0) or (abs(vaxys) > 0))
{
var speedmax = 3;
hspeed = haxys*speedmax;
vspeed = vaxys*speedmax;
if (speed > speedmax)
speed = speedmax;
}
//se não entendeu, não tem problema, o importante de entender é aqui em baixo
if(keyboard_check_pressed(vk_space))
tx = 8;//estamos ativando um intervalo da tecla pressionnada, para ser identificada depois
if (speed > 0)
{
//acao dele, caso speed for maior que 0 é "walking"(traducao = andando)
act = "walking";
//o resto e so de exemplo de logica
sprite_index = andando;
image_speed = speed/10;
}
else
{
//acao dele caso speed não(else) for maior que 0 é "idle"(traducao = parado)
act = "idle";
sprite_index = parado;
image_speed = 0;
}
if (tx > 0)
{
tx = 0;
act = "combo 1";//a ação é um inicio de combo, ou seja, combo 1
sprite_index = atack1;
image_index = 0;
image_speed = 0.35;
dontmove = 1000;//evita mover
}
}
e no animation end -
Código: Selecionar todos
//nesse codigo, verificamos se a ação é igual a combo(pegamos uma parte da string "act" para verificação)
//e se for, pegamos qual é o numero do combo
//se for o primeiro, entramos na "case 1"
var in,fn;
in = string_copy(act,1,5);
if (in == "combo")
{
fn = real(string_copy(act,7,1));
act = "idle";
dontmove = 0;
sprite_index = idle;
image_speed = 0;
switch fn
{
case 1:
{
if (tx > 0)
{
//ele apertou espaço, então vamos seguir com o combo
tx = 0;
act = "combo 2";//agora é o combo 2
sprite_index = atack2;
image_index = 0;
image_speed = 0.35;
dontmove = 1000;//evita mover
}
}
break;
case 2:
{
if (tz > 0)
{
//ele apertou outra tecla, pra continuar o combo(crie primeiro a var tz,como criou a var tx)
tx = 0;
act = "combo 3";//agora é o combo 3
sprite_index = atack4;
image_index = 0;
image_speed = 0.35;
dontmove = 1000;//evita mover
}
}
break;
}
}
//se não possuir mais combos, não adicione mais cases
Caso necessite de mais ajuda, entre em contato comigo por mp
20 anos, estudante de linguagens de programação.
Uso Godot Engine.