Obrigado por visitar a The Game Makers Brasil 😁 Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais.

Direção e distância do dash

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Nat_2005
Novato
Novato
Reações: 0
Mensagens: 19
Contato:

Direção e distância do dash

Mensagem por Nat_2005 » Qui Set 08, 2022 7:11 pm

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;

Avatar do usuário
noua12
Novato
Novato
Reações: 1
Mensagens: 9

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

Mensagem por noua12 » Seg Out 31, 2022 4:04 pm

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
1 Imagem

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 2 visitantes