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

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

Ajuda no código de colisão e movimentação

Mensagem por Daaeemon » Ter Jan 24, 2023 2:50 pm

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;

}
}
}
}

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 620
Localização: Dourados-MS

Contato:

Re: Ajuda no código de colisão e movimentação

Mensagem por All-x » Ter Jan 24, 2023 3:22 pm

Teu código não tem nenhuma checagem de colisão. Troque as linhas 8 e 9 por:

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;
Assim, antes de se mover ele vai checar se vai colidir com o obj_parede.
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!

Responder

Quem está online

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