OBS: Pai_inimigo é para equivaler à todos os inimigos
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
Pode fazer uma ação se estiver perto do inimigo
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
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
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Pode fazer uma ação se estiver perto do inimigo
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]
Já que o inimigo vai ser perseguido o tempo todo precisamos atualizar a direção o tempo todo também.
[Step]
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
[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);
}
Re: Pode fazer uma ação se estiver perto do inimigo
Desculpa acabei esquecendo de por o código aqui está: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
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"
}
}
}
- Chuaschinai
- Colaborador
- Reações: 6
- Mensagens: 198
-
Re: Pode fazer uma ação se estiver perto do inimigo Tópico resolvido
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.
Quem está online
Usuários navegando neste fórum: Nenhum usuário registrado e 3 visitantes