Conectar-se
Quem está conectado
21 usuários online :: 1 usuário cadastrado, Nenhum Invisível e 20 Visitantes

Biemorth

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

[Resolvido] problems com tower defense

em Ter 17 Jan 2012, 22:03
Oi galera, hoje eu tava fazendo um mini game com meu amigo pra nós fica passando o tempo, ai resolvi fazer um tower defense, mas da um probleminha:
eu to usando akele classico codigo:
Código:
if point_distance(x,y,ob_inimigo.x,ob_inimigo.y)<300 then {atirando=true} else {atirando=false}
(e outros, mas n vem ao caso)
só que tipo, quando ele atira, ele só atira no objeto com a menor ID, ou seja, o que eu criei primeiro, depois nao atira mais nos outros, eu quero que ele atire no objeto inimigo mais proximo dele.
Help Ae
flw flw


Última edição por Tedi Ripper em Ter 17 Jan 2012, 22:39, 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] problems com tower defense

em Ter 17 Jan 2012, 22:12
Amigo pode fazer assim (um jeito):
Código:

d_max = 0;
ponto_x = 0;
ponto_y = 0; //Ponto para onde atirar
distancia_minima = 200; //se tiver mais longe que isso nao atira
with (objInimigos)
{
    d = point_distance(other.x, other.y, x, y);
    if (d > other.d_max)
    {
          other.d_max = d;
          other.ponto_x = x;
          other.ponto_y = y;
    }
}
if (d <= distancia_minima)
{
  atirando = true;   
} else
  atirando = false;

Flws!
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] problems com tower defense

em Ter 17 Jan 2012, 22:20
Nops, deu a mesma coisa
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] problems com tower defense

em Ter 17 Jan 2012, 22:23
Amigo, já usei código parecido a este que lhe passei e funcionou. Para melhor ajuda-lo precisaria de mais detalhes do seu código. Este codigo que lhe passei encontra a instancia mais perto de determinado objeto e fornece um ponto onde voce atirar.
Flws...
avatar
Ranking : Nota C
Notas recebidas : D + D + C + C + D + B
Data de inscrição : 28/04/2011
Número de Mensagens : 913
Insígnias de JAM :

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

Prêmios
   : 1
   : 0
   : 0
Ver perfil do usuáriohttp://mrbrumgames.blogspot.com/

Re: [Resolvido] problems com tower defense

em Ter 17 Jan 2012, 22:24
Fiz um code compacto pra vc:
Código:
//vamos pegar o id do inimigo mais proximo do player.(i1)
i1=instance_nearest(x,y,obj_inimigo)
//se o objeto quardado em i1 estiver abaixo de 300 pixels de distancia de nos, ativar atirando.
if distance_to_object(i1)<300 then {atirando=true}
//senão desativar atirando
else {atirando=false}

Capturamos o id do objeto inimigo mais próximo de nós e ativamos ou desativamos a switch atirando.
avatar
Ranking : Sem avaliações
Data de inscrição : 21/11/2010
Número de Mensagens : 775
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuário

Re: [Resolvido] problems com tower defense

em Ter 17 Jan 2012, 22:38
Feliz AEEEEEEEEEEEEEEE Feliz
era bem esse codigo que eu queria:
instance_nearest()

nao sabia o nome, mas ja tinha lido, kk
vlw, funcionou dessa vez
flw
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