Como faço pro o inimigo colidir com as paredes?
Enviado: Ter Fev 23, 2021 11:04 am
OBS. na tag esta GAMEMAKER-STUDIO mas eu estou utilisando o GAMEMAKER-STUDIO 2
Eu criei um inimigo que se move aleatoriamente pela room. porem ele atravessa as paredes ou trava quando colide com elas.
Aqui esta o codigo de movimento dele:
if(mov = 0) speed = 0
if(mov_delay >= choose(4,5,6,7)*room_speed)
{
mov = choose (0,1,2,3,4)
mov_delay = 0
show_debug_message(mov)
}
mov_delay ++
//COLISOENS HORISONTAIS
if(!place_meeting(x+2,y,obj_colisao) && mov == 1) andando para a DIREITA
{
speed = .5
direction = 0;
}
if(!place_meeting(x+2,y,obj_colisao) && mov == 2) andando para a ESQUERDA
{
speed = .5
direction = 180;
}
// COLISOENS VERTICAIS
if(!place_meeting(x,y+2,obj_colisao) && mov == 3) andando pra CIMA
{
speed = .5
direction = 90;
}
if(!place_meeting(x,y+2,obj_colisao) && mov == 4) andando pra BAIXO
{
speed = .5
if(mov = 4) direction = 270;
}
OBS 2. o jogo e estilo rpg com camera vista de cima.
Eu criei um inimigo que se move aleatoriamente pela room. porem ele atravessa as paredes ou trava quando colide com elas.
Aqui esta o codigo de movimento dele:
if(mov = 0) speed = 0
if(mov_delay >= choose(4,5,6,7)*room_speed)
{
mov = choose (0,1,2,3,4)
mov_delay = 0
show_debug_message(mov)
}
mov_delay ++
//COLISOENS HORISONTAIS
if(!place_meeting(x+2,y,obj_colisao) && mov == 1) andando para a DIREITA
{
speed = .5
direction = 0;
}
if(!place_meeting(x+2,y,obj_colisao) && mov == 2) andando para a ESQUERDA
{
speed = .5
direction = 180;
}
// COLISOENS VERTICAIS
if(!place_meeting(x,y+2,obj_colisao) && mov == 3) andando pra CIMA
{
speed = .5
direction = 90;
}
if(!place_meeting(x,y+2,obj_colisao) && mov == 4) andando pra BAIXO
{
speed = .5
if(mov = 4) direction = 270;
}
OBS 2. o jogo e estilo rpg com camera vista de cima.