Entrar
Ú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
Pegar uma ID de um objeto entre vários iguais
4 participantes
Página 1 de 1
Pegar uma ID de um objeto entre vários iguais
Tem varios obj_qualquer na room, eu quero armazenar a ID de um desses objs aleatoriamente.
Algo como :
identificador = instance_random(obj_qualquer)
Isso ai teoricamente pegaria a ID de um obj desses obj_qualquer aleatoriamente.
Como faço isso ? tô viajando aqui
Algo como :
identificador = instance_random(obj_qualquer)
Isso ai teoricamente pegaria a ID de um obj desses obj_qualquer aleatoriamente.
Como faço isso ? tô viajando aqui
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Pegar uma ID de um objeto entre vários iguais
Depende se você cria o objeto por instance_create ou colocando ele na room. Dá uma olhada no tutorial:
http://www.tutoriaisgamemaker.com.br/2014/09/como-descobrir-id-instancia-objeto.html
http://www.tutoriaisgamemaker.com.br/2014/09/como-descobrir-id-instancia-objeto.html
Re: Pegar uma ID de um objeto entre vários iguais
. Você pode fazer assim.
. Coloque em create do próprio objeto
e na hora de escolher:
}
. Coloque em create do próprio objeto
- Código:
global.escolhido[object_index]=noone;
e na hora de escolher:
- Código:
while(global.escolhido[object_index]=noone){
with(object_index){
if(irandom(instance_number(object_index))=1){
global.escolhido[object_index]=id;
}
}
Thyago- Games Ranking :
Notas recebidas : D+B+B+C+A
Data de inscrição : 24/08/2009
Reputação : 31
Número de Mensagens : 1101
Prêmios :
x 0 x 0 x 0
x 1 x 1 x 0
x 0 x 0 x 0
Re: Pegar uma ID de um objeto entre vários iguais
Eu to fazendo isso :
é válido ?
Após o teste, as vezes ocorre este erro :
___________________________________________
FATAL ERROR in
action number 1
of Alarm Event for alarm 0
for object obj_homem_areia_i:
Push :: Execution Error - Variable Index [0,2] out of range [1,2] - -7.ww(100091,2)
at gml_Object_obj_homem_areia_i_ObjAlarm0_1 (line 71) -
_obj = ww[irandom(instance_number(obj_ground_s3))]
Já sei que é porque está indo além do máximo dessa array, mas eu n sei porque :/
- Código:
for (i = 0; i < instance_number(obj_ground_t2); i += 1)
{
ww[i] = instance_find(obj_ground_t2,i);
}
_obj = ww[irandom(instance_number(obj_ground_t2))]
é válido ?
Após o teste, as vezes ocorre este erro :
___________________________________________
FATAL ERROR in
action number 1
of Alarm Event for alarm 0
for object obj_homem_areia_i:
Push :: Execution Error - Variable Index [0,2] out of range [1,2] - -7.ww(100091,2)
at gml_Object_obj_homem_areia_i_ObjAlarm0_1 (line 71) -
_obj = ww[irandom(instance_number(obj_ground_s3))]
Já sei que é porque está indo além do máximo dessa array, mas eu n sei porque :/
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Re: Pegar uma ID de um objeto entre vários iguais
Você pode usar ds_list!
Primeiro, declare uma ds_list e armazene sua identificação em uma variável global.
Agora, no create dos objetos que você quer sortear aleatoriamente, você coloca:
Agora, quando quiser escolher um objeto qualquer, execute este pequeno código:
Agora, o id de um obj qualquer está armazenado em "ID".
Dúvidas é só falar.
Flws...
Primeiro, declare uma ds_list e armazene sua identificação em uma variável global.
- Código:
global.ListaDeID = ds_list_create();
Agora, no create dos objetos que você quer sortear aleatoriamente, você coloca:
- Código:
ds_list_add(global.ListaDeID,id);
Agora, quando quiser escolher um objeto qualquer, execute este pequeno código:
- Código:
N = irandom(ds_list_size(global.ListaDeID)); //Retorna um número relativo a quantidade de itens da lista.
ID = ds_list_find_value(global.ListaDeID,N); //Pega o valor da lista na posição N.
Agora, o id de um obj qualquer está armazenado em "ID".
Dúvidas é só falar.
Flws...
Re: Pegar uma ID de um objeto entre vários iguais
da para usar por ds_list e por for, pra mim (por causa de conhecimento xD) prefiro o for, eu consegui ajeitar meu código lá em cima, o problema é que os objs são criado e deletados constantemente, ai se ele pegava um que ia ser deletado da erro, mas ja contornei isto, vlw
Zero.- Data de inscrição : 19/08/2010
Reputação : 47
Número de Mensagens : 1300
Prêmios :
x 0 x 0 x 0
x 1 x 0 x 0
x 0 x 0 x 0
Tópicos semelhantes
» Varios objetos iguais
» [Resolvido] Pegar o objeto mais proximo eu sei, agora quero pegar o segundo mais proximo
» como checar se ja tem um objeto e nao permitir outros iguais
» Como pegar uma variavel local de um outro objeto e passar pra um outro objeto
» Criar vários objeto random
» [Resolvido] Pegar o objeto mais proximo eu sei, agora quero pegar o segundo mais proximo
» como checar se ja tem um objeto e nao permitir outros iguais
» Como pegar uma variavel local de um outro objeto e passar pra um outro objeto
» Criar vários objeto random
Página 1 de 1
Permissões neste sub-fórum
Não podes responder a tópicos
|
|