A direção do dash será a posição do mouse, então fiz algo para verificar o X e Y do mouse, mas quero que ele percorra apenas uns 20 pixels de distância nessa direção, porém não sei fazer isso.
Esse são meus códigos:
Step:
Código: Selecionar todos
#region MOVIMENTAÇÃO
//Controles e variáveis
k_left = keyboard_check(ord("A")); //Variável para esquerda
k_right = keyboard_check(ord("D")); //Variável para direita
k_jump = keyboard_check_pressed(ord("W")); //Variável para pular
k_stop = (!k_left && !k_right && !k_jump); //variável do personagem parado
var dash = keyboard_check_pressed(vk_shift); //Variável para dash
var pl_power = keyboard_check_pressed(vk_space); //Variável para atirar
var move = k_right - k_left; //Variável para movimentar
var drc_dash = mouse_x+mouse_y; //Cordenadas do mouse
//Movimentação normal----------------------------------------------------------------------------
if (sitt=="walk") //Condição (Situação = andando)
{
hspd = move * spd //Variável horizontal
}
vspd = vspd * grv //Variável vertical
//Dash acontece-------------------------------------------------------------------------------------
if (dash) //Condição para o dash
{
sitt = "dash" //Situação
if (alr_dash == false) //Condição para dash
{
alarm[1] = room_speed * 0.2; //Tempo de dash
alr_dash = true; //Alarme dash
}
}
//Movimentação do dash-------------------------------------------------------------------------
if (sitt=="dash") //Condição (Situação = dash)
{
direction=drc_dash //Minha direção
//Minha distância X
//Minha distância Y
}
Código: Selecionar todos
spd=5; //velocidade quando estiver em movimento
hspd=0; //velocidade horizontal
vspd=0; // Velocidade vertical
grv=1; //gravidade
jspd=-20; //Altura do pulo
drc=0; //Direção do player (direita)
global.life_pl=3; //vida inicial
alr_taunt=false //Alarme para o taunt
sitt = "walk"; //Situação inicial
leng_dash = 20; //Distância do dash
alr_dash = false; //Alarme para o dash
Código: Selecionar todos
sitt = "walk"
alr_dash = false;