[Dúvida]Destruir objetos em uma certa distancia

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Dúvida]Destruir objetos em uma certa distancia

Mensagem por Luca$ em Ter 22 Nov 2011, 15:25

To num projeto,de que o jogo é vertical,e as plataformas são construidas aleatoriamente,entao,pra o jogo nao ficar impossivel de passar certas horas,eu gostaria fazer isso:(Pseudocódigo)

Código:

se o segundo objeto mais próximo estiver a uma distância  maior que 200 pixels
{
destruir o objeto()
}

A parte que não sei ,é como axar o segundo objeto mais próximo.
Existe auguma função pra isso?
Ou outro meio de faze-lo?

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Destruir objetos em uma certa distancia

Mensagem por Igor KinGamer em Ter 22 Nov 2011, 21:04

Você já não tentou usar aquele script "instance_nth_nearest(x, y, objeto, ordem de proximidade)", que está neste tópico?
Código:
/*
**  Usage:
**      inst = instance_nth_nearest(x,y,obj,n);
**
**  Arguments:
**      x,y      a point
**      obj      an object_index, or keyword "all"
**      n        proximity
**
**  Return:
**      inst      (n)th nearest instance id of type
**                (object) to the given point (x,y),
**                or keyword "noone" if none found.
**
**  GMLscripts.com
*/
{
    var pointx,pointy,object,n,list,nearest;
    pointx = argument0;
    pointy = argument1;
    object = argument2;
    n = argument3;
    n = min(max(1,n),instance_number(object));
    list = ds_priority_create();
    nearest = noone;
    with (object) ds_priority_add(list,id,distance_to_point(pointx,pointy));
    repeat (n) nearest = ds_priority_delete_min(list);
    ds_priority_destroy(list);
    return nearest;
}

Eu testei-o aqui e funfo beleza, se não funcionar aí, diga qual o erro.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Dúvida]Destruir objetos em uma certa distancia

Mensagem por Luca$ em Ter 22 Nov 2011, 21:46

Na verdade nao era esse script,era uma extensao que to usando com mais funçoes alem dessa.
Mas tipo,eu to fazndo,mas nao ta dando certo,olha o código:
Código:
IDDD=instance_nth_nearest(x,y,obj_player,2)
if distance_to_object(IDDD)>200
{
with (IDDD)
{
instance_destroy()
}
}

Mas ele ta destruindo até a si mesmo,e outros objetos que nao estão perto

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Destruir objetos em uma certa distancia

Mensagem por Igor KinGamer em Ter 22 Nov 2011, 22:33

instance_nth_nearest(x,y,obj,n);

obj é o objeto do qual você quer saber qual é a instância que está mais perto do ponto (x, y). Ou seja, se você quer que a função retorne o id da segunda plataforma mais perto do (x, y) do player, vai o nome do objeto plataforma ali.

Antes eu não tinha percebido isso Laughing

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Dúvida]Destruir objetos em uma certa distancia

Mensagem por Luca$ em Ter 22 Nov 2011, 22:36

Haha desculpa cara!
Você nao percebeu antes porque era outro código xD
Eu coloquei obj_player agora,só pra teste, e copiei o mesmo código
O certo é:
Código:
IDDD=instance_nth_nearest(x,y,obj_plataforma2,2)
if distance_to_object(IDDD)>200
{
with (IDDD)
{
instance_destroy()
}
}

Luca$

Ranking : Nota D
Número de Mensagens : 582
Data de inscrição : 10/10/2010
Notas recebidas : D-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: [Dúvida]Destruir objetos em uma certa distancia

Mensagem por Igor KinGamer em Qua 23 Nov 2011, 13:08

Bem... scratch

Nesse caso, não sei.
Acho que você vai ter que me enviar o source mesmo. Quando testei aquele script aqui, se havia uma só instância do objeto, ela era deletada mesmo colocando instance_nth_nearest(x, y, objeto, 2) ou mais, mas não deletava a si próprio.

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: [Dúvida]Destruir objetos em uma certa distancia

Mensagem por Conteúdo patrocinado Hoje à(s) 21:12


Conteúdo patrocinado


Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum