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.

INIMIGO ENTRA NO BLOCO Tópico resolvido

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Z3US4000
Membro
Membro
Reações: 1
Mensagens: 23

INIMIGO ENTRA NO BLOCO

Mensagem por Z3US4000 » Ter Mai 02, 2023 4:28 pm

Ola, estou com um problema onde o inimigo colide com o bloco so que ele desce devagarinho ate la em baixo, atravessando o bloco e tbm depois de colidir com o bloco no meio do caminho ele cai por completo e queria saber se alguem poderia me ajudar.Codigos abaixo.

CREATE(inimigo):

direc= 0;
veloc= 0.4
grav= 0.3
vspd= 0;
hspd= 0;
chao= 0;

STEP(inimigo):

vspd= vspd + grav;
y= y + vspd;

if place_meeting(x,y,obj_parede2)
{
if direc == 0
{
direc= 1;
}else if direc == 1
{
direc = 0;
}
}

if direc == 0
{
sprite_index= spr_inm
x += veloc;
}else if direc == 1
{
sprite_index= spr_inm_dir;
x -= veloc;
}

END STEP(inimigo):

if(!place_meeting(x + sign(hspd), y,obj_block))
{
x += sign(hspd);
}
else
{
hspd= 0;
}
{

if(!place_meeting(x, y + sign(vspd),obj_block))
{
y += sign(vspd);
}
else
{
vspd= 0;
}
}

Avatar do usuário
Chuaschinai
Colaborador
Colaborador
Reações: 5
Mensagens: 198

Re: INIMIGO ENTRA NO BLOCO  Tópico resolvido

Mensagem por Chuaschinai » Ter Mai 02, 2023 5:28 pm

Ele atravessa, pois a atualização do vspd esta no Step, e deveria estar no End Step junto da parte onde checa se colide com o chão, assim:

Código: Selecionar todos

vspd = vspd + grav;
if(!place_meeting(x, y + sign(vspd),obj_parede2))
{
	y += sign(vspd);
}
else
{
	vspd= 0;
}
y = y + vspd;
Há bons tutoriais aqui mesmo no forum sobre gravidade, foi postado um recente pelo KanekiZLF, veja: Tutorial de Sistema de Colisão X Y e Gravidade GM2
1 Imagem

Responder

Quem está online

Usuários navegando neste fórum: Ahrefs [Bot] e 6 visitantes