Estou a horas tentando fazer com que o objeto que persegue o jogador tenha uma colisão, já peguei de jogos antigos meus, não funcionou, sendo que naquele jogo, quando o inimigo está seguindo o jogador ele sim colide com paredes, mas parece que agora o jogo simplesmente está dando erro e não quer ir.
Aqui está o script do objeto perseguidor.
function scr_girl_seguir(){
var dist = point_distance(x, y, obj_player.x + 20, obj_player.y+ 20);
var dist_max = 100;
if (dist > dist_max) {
hveloc = obj_player.hveloc;
vveloc = obj_player.vveloc;
x += hveloc;
y += vveloc;
var dir = floor((point_direction(x, y, obj_player.x, obj_player.y) + 45) / 90);
if (hveloc == 0 && vveloc == 0) {
switch (dir) {
case 0: sprite_index = spr_menina_direita_parada; break;
case 1: sprite_index = spr_menina_cima_parada; break;
case 2: sprite_index = spr_menina_esquerda_parada; break;
case 3: sprite_index = spr_menina_baixo_parada; break;
}
} else {
switch (dir) {
case 0: sprite_index = spr_menina_direita; break;
case 1: sprite_index = spr_menina_cima; break;
case 2: sprite_index = spr_menina_esquerda; break;
case 3: sprite_index = spr_menina_baixo; break;
}
}
}
}
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. |
Ajuda no código de colisão e movimentação
Re: Ajuda no código de colisão e movimentação
Teu código não tem nenhuma checagem de colisão. Troque as linhas 8 e 9 por:
Assim, antes de se mover ele vai checar se vai colidir com o obj_parede.
Código: Selecionar todos
if not place_meeting(x + hveloc, y, obj_parede) x += hveloc;
if not place_meeting(x, y + vveloc, obj_parede) y += vveloc;
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante