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.

Pode fazer uma ação se estiver perto do inimigo Tópico resolvido

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

Pode fazer uma ação se estiver perto do inimigo

Mensagem por Bernado » Sex Fev 24, 2023 8:32 pm

Olá. Estou com uma dúvida, Eu estava fazendo um ataque que o jogador lança uma bola de fogo que persegue um inimigo, ele funcionou, porém com muitos inimigos na tela ele vai em um inimigo em especifico mesmo ele estando longe.
https://youtu.be/OTkHIAaatnw
Aqui um vídeo para referencia. O retângulo amarelo é o alcance do ataque(Para não confundir eu só quero que tenha um alcance, mesmo com dois inimigos dentro do alcance ele só vai conseguir lançar no que estiver mais perto ou só conseguir lançar em um. O ataque tá funcionado). Obrigado

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

Re: Pode fazer uma ação se estiver perto do inimigo

Mensagem por Chuaschinai » Sáb Fev 25, 2023 12:00 am

Para você detectar o inimigo mais próximo, você pode utilizara função instance_nearest, que busca a objeto mais próximo e retorna seu id, e então usar point_direction para obter a direção.
Não sei a maneira que você esta usando para fazer o direcionamento e o movimento do projétil mas irei dar um exemplo:

Seria no objeto projétil, quando ele for criado ele pega o id do inimigo mais próximo.
[Create]

Código: Selecionar todos

inimigo_id = instance_nearest(x, y, obj_inimigo); // Inimigo mais proximo
speed = 2;  // Velocidade de movimento
Já que o inimigo vai ser perseguido o tempo todo precisamos atualizar a direção o tempo todo também.
[Step]

Código: Selecionar todos

// Checa se o inimigo ainda existe
if(instance_exists(inimigo_id)) {
	direction = point_direction(x, y, inimigo_id.x, inimigo_id.y);
}

Avatar do usuário
Bernado
Novato
Novato
Reações: 0
Mensagens: 6

Re: Pode fazer uma ação se estiver perto do inimigo

Mensagem por Bernado » Sáb Fev 25, 2023 1:22 pm

Chuaschinai escreveu: Sáb Fev 25, 2023 12:00 am Não sei a maneira que você esta usando para fazer o direcionamento e o movimento do projétil
Desculpa acabei esquecendo de por o código aqui está:

Código: Selecionar todos

//alcance
if distance_to_object(instance_nearest(x,y,Pai_inimigo)) <= 200 {
if(ataque)
{
 fogo_podi = true;
 if fogo_podi = true {
 image_index = 0;
 estado = "Lançar"
}
	 }
    }					
OBS: Pai_inimigo é para equivaler à todos os inimigos

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

Re: Pode fazer uma ação se estiver perto do inimigo  Tópico resolvido

Mensagem por Chuaschinai » Sáb Fev 25, 2023 2:30 pm

Coloque o código da onde ele lança o objeto fogo, esse código so muda o estado, ele não pega o id do mais próximo e sim checa se há um mais próximo.

Responder

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante