Conectar-se
Quem está conectado
13 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 13 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

[Resolvido] Como saber qual objeto esta mais perto?

em Sex 11 Fev 2011, 09:50
Estou com problemas para criar uma especie de IA.
Ja pesquisei aqui no forum, mas não consegui resultados. ¬¬

Quero que este objeto (IA), atire no objeto que estiver mais proximo dele, sendo que vão existir varios objetos com o mesmo nome.

Por exeplo, imagine que você quer fazer um game de Tiro em Top-Down. Seus aliados vão atirar no primeiro inimigo que aparecer, ou seja, o que estiver mais próximo.

É so isso, desde já agradeço a todos.
blz


Última edição por Willy em Sex 11 Fev 2011, 10:30, editado 1 vez(es)
avatar
Ranking : Nota B
Notas recebidas : B-C-A-C
Data de inscrição : 18/09/2008
Número de Mensagens : 2490
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 1 Insignia 3x 0
Reputação : 52

Prêmios
   : 0
   : 2
   : 1
Ver perfil do usuáriohttp://xcreatorgames.weebly.com/

Re: [Resolvido] Como saber qual objeto esta mais perto?

em Sex 11 Fev 2011, 10:15
Amigão voce pode fazer assim:
Evento STEP:
Código:

var d, min_d, in;
min_d = 99999999;
with (all)
{
    d = point_distance(x, y, other.x, other.y));//Editado aqui tinha um erro mesmo, vlw Willy
    if (d < min_d)
    { 
        min_d =  d;
        in = id;
    }
}
Assim a variavel in sera a instancia que está mais perto do objeto no qual você colocou este script.
Existe também o comando instance_nearest() que é mais simples de usar:
Código:

var in;
in = instance_nearest(x,y, all);
flws!


Última edição por vinians em Sex 11 Fev 2011, 11:12, editado 1 vez(es)
avatar
Ranking : Nota A
Notas recebidas : C + B + A + A
Data de inscrição : 08/06/2009
Número de Mensagens : 1846
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 254

Prêmios
   : 2
   : 1
   : 1
Ver perfil do usuáriohttp://willy-gmbr.blogspot.com/

Re: [Resolvido] Como saber qual objeto esta mais perto?

em Sex 11 Fev 2011, 10:29
[RESOLVIDO]

Muito obrigado vinians!
Era isso mesmo que eu queria.

Porém tem um erro no primeiro código (esse que eu usei),:
Código:
d = point_distance(x, y, other.x, other.y) < d);
Na primeira vez que usei, deu erro.
Mas foi só remover o "< d)" que deu certo.
Código:
d = point_distance(x, y, other.x, other.y) ;

Mais uma vez, muito obrigado!
O tópico ja pode ser trancado.
blz
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum