Página 1 de 1

Direção e distância do dash

Enviado: Qui Set 08, 2022 7:11 pm
por Nat_2005
Quero fazer um dash para meu player, mas não sei como escrever a distância que ele deve percorrer.
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
}
Creat

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
Alarm1

Código: Selecionar todos

sitt = "walk"
alr_dash = false;

Re: Direção e distância do dash

Enviado: Seg Out 31, 2022 4:04 pm
por noua12
Ola Amigo, feliz Hallowilson

Eu acho que o erro pode estar na variável var drc_dash.

No caso você esta somando os valores x & y do mouse, e descartando os valores de X e y do player.
Tente utilisar o codigo Point_direction

EX:

var drc_dash = Point_direction(x,y,mouse_x,mouse_y);

Lembrando que é bem mais fácil se você fizer uma State_Machine.
Achei um tutorial Muito bom do canal Ponto e virgula
Da uma olhada, acho q é mais fácil aprender por lá kkkkk

Link do Tutorial: https://www.youtube.com/watch?v=iV9nccl-y00&t=5s

Espero de coração ter te ajudado, boa sorte <3