GMBR
Gostaria de reagir a esta mensagem? Crie uma conta em poucos cliques ou inicie sessão para continuar.
Entrar

Esqueci-me da senha

Últimos assuntos
» Retorno da GMBR!!!
por theguitarmester Ter 19 Mar 2024, 22:38

» Procuro Programador de game maker
por Wou Sex 15 Mar 2024, 10:27

» Mod APK
por gamerainha Qua 13 Mar 2024, 06:30

» Mudar cor de apenas uma palavra
por lunalol Sex 01 Mar 2024, 13:42

» Aceito pedidos de sprites (Com exemplos meus)
por Sevilha Qua 28 Fev 2024, 12:17

» Inventário simples
por Isquilo_Roedor Qui 22 Fev 2024, 15:18

» Problemas na programaçnao de inimigo [jogo DOOM LIKE]
por Black Mirror Dom 11 Fev 2024, 13:34

» ANDROID MULTI TOUCH
por DiegoBr Dom 04 Fev 2024, 12:13

» Servidor de Discord do fórum?
por Lighter Sáb 27 Jan 2024, 17:18

» Save e Load Json
por Klinton Rodrigues Qui 25 Jan 2024, 11:12

» Colisão com mais de um objeto
por aminaro Seg 22 Jan 2024, 15:02

» Oi sou novo aqui
por Thiago Silveira Alexandre Sáb 20 Jan 2024, 20:55

» Como acessar conteudo comprado no marketplace
por macmilam Sex 19 Jan 2024, 07:42

» Devlogs em vídeos do Block Room
por Joton Seg 15 Jan 2024, 16:56

» Alguém aqui já ganha dinheiro com seus games?
por Joton Seg 15 Jan 2024, 16:49

» ACERVO GMBR MAGAZINE
por Joton Qui 11 Jan 2024, 19:21

» como aumentar o obj sem aumentar a colisão??
por GabrielXavier Qua 10 Jan 2024, 07:21

» Asteroid Core - Early Acesse Update [0.2.0.0]
por JOZ. Seg 08 Jan 2024, 14:39

» Versionamento de código com GitHub
por GabrielXavier Seg 08 Jan 2024, 07:32

» Rio Rise - novo launcher do Gta San Andreas SAMP Brasil
por kolesovsup Sex 29 Dez 2023, 07:16

» a funçao approach ainda existe?
por PEDRINDEV Ter 26 Dez 2023, 20:05

» Inimigo ataca até por trás! >:(
por saim Sex 22 Dez 2023, 08:55

» [RESOLVIDO]Spawn após morte
por Deception_1999 Dom 17 Dez 2023, 16:39

» Remunerado $$$ - Procuro programador para ajudar a "montar" um jogo
por theguitarmester Sáb 02 Dez 2023, 16:28

» Game maker nao abre
por Cerf Dom 26 Nov 2023, 12:01


[Dúvida]Destruir objetos em uma certa distancia

2 participantes

Ir para baixo

[Dúvida]Destruir objetos em uma certa distancia Empty [Dúvida]Destruir objetos em uma certa distancia

Mensagem por Luca$ 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$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : [Dúvida]Destruir objetos em uma certa distancia Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Igor KinGamer 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
Igor KinGamer

Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios : [Dúvida]Destruir objetos em uma certa distancia Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Luca$ 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$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : [Dúvida]Destruir objetos em uma certa distancia Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Igor KinGamer 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
Igor KinGamer

Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios : [Dúvida]Destruir objetos em uma certa distancia Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Luca$ 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$
Luca$

Games Ranking : Nota D

Notas recebidas : D-C
Data de inscrição : 10/10/2010
Reputação : 1
Número de Mensagens : 582
Prêmios : [Dúvida]Destruir objetos em uma certa distancia Empty

Medalhas x 0 Tutoriais x 0 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Igor KinGamer 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
Igor KinGamer

Data de inscrição : 26/09/2008
Reputação : 11
Número de Mensagens : 890
Prêmios : [Dúvida]Destruir objetos em uma certa distancia Empty

Medalhas x 0 Tutoriais x 1 Moedas x 0

Ouro x 0 Prata x 0 Bronze x 0

Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Ir para o topo Ir para baixo

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

Mensagem por Conteúdo patrocinado


Conteúdo patrocinado


Ir para o topo Ir para baixo

Ir para o topo

- Tópicos semelhantes

 
Permissões neste sub-fórum
Não podes responder a tópicos