Página 1 de 1

Como eu faço para quando um personagem cair faça o sprite de cair

Enviado: Qua Nov 20, 2019 12:35 pm
por Kwwliam10
Nome:kaua Nome do tutorial (Ex: Criando sistema de cair com sprite).
Tem como me ajudar? N sem se entendeu mas quando alguém cai para baixo o sprite possa ficar com animaçao de cair obrigado.é minha primeira vez nesse fórum.

Re: Como eu faço para quando um personagem cair faça o sprite de cair

Enviado: Qua Nov 20, 2019 6:20 pm
por None
Eu não sei o quanto tu conhece.
Dá uma olhada nessa playlist
Criando um jogo de Plataforma: https://www.youtube.com/playlist?list=P ... MXoe1r37N8


Se você não conhece bem o Gamemaker, então dá uma olhada nessa playlist antes.
Aprenda como criar seu primeiro jogo: https://www.youtube.com/playlist?list=P ... YlCstCa2wx

Re: Como eu faço para quando um personagem cair faça o sprite de cair

Enviado: Seg Mai 16, 2022 8:48 pm
por QuestWest
Olá,
Ja venho avisar que o codigo que estarei mandando aprendi no video do None Todos os creditos a ele.

Primeiramente vamos criar uma variavel de velocidade vertical e a animaçao de cair

velv = 0;
var chao = place_meeting(x, y + 1, obj_block)

case "pulando":
{
//Cair
if (velv > 0) //Quando a velocidade vertical estiver 0 executara a animaçao de cair
{
sprite_index = spr_player_fall
}
}

Logo apos precisa fazer a animaçao de pulo como o contrario (se nao estiver com velocidade 0)

case "pulando":
{
//Cair
if (velv > 0)
{
sprite_index = spr_player_fall
}
else
{
sprite_index = spr_player_jump
}
}

Assim ele ja estaria pulando e caindo mais quando encosta no chao ele continua com a animaçao de cair para isso vamos transformar ela em parado

case "pulando":
{
//Cair
if (velv > 0)
{
sprite_index = spr_player_fall
}
else
{
sprite_index = spr_player_jump
}

//Condição de troca de estado
if (chao)
{
estado = "parado";
}

break;
}

Pronto assim ele estaria Fazendo animaçao de pulo, Fazendo animaçao de cair e quando tocar o chao ele ira trocar para animaçao idle
Lembrando coloque o codigo dentro de um
switch(estado)
{

}

Se não funcionar so me avisar.

(Caso voçe nao tenha o codigo do idle)

right = keyboard_check(ord("D"));
left = keyboard_check(ord("A"));
jump = keyboard_check(vk_space);

case "parado":
{
//Comportamento do estado
sprite_index = spr_player_parado1;

//Condição de troca de estado
//Movendo
if (right || left)
{
estado = "movendo"
}
else if (jump)
{
estado = "pulando";
velv = -max_velv;
}

break;
}