Onde as mentes criativas se encontram!


 
Avatar do usuário
adiplomatique
Novato
Novato
Autor
Mensagens: 13
Registrado em: Sáb Set 26, 2015 10:35 am

uso de instâncias diferentes do mesmo objeto

Qua Set 20, 2017 7:23 pm

prezados,

numa room, tenho quatro instâncias do mesmo objeto inimigo. a minha dúvida é a seguinte:

como faço para que somente uma dessas instâncias (seja a escolha dela aleatória ou predeterminadamente), ao ser destruída, solte um item a ser recolhido pelo player?

valeu pela ajuda!
 
Avatar do usuário
dkoelho
Novato
Novato
Mensagens: 18
Registrado em: Seg Nov 28, 2016 11:25 pm
Localização: holocausto de 1944.

Re: uso de instâncias diferentes do mesmo objeto

Qua Set 20, 2017 11:42 pm

No create deles, cria uma variável tipo "drop = false". Depois na room, vai no que você quer que drope, clica com o direito, vai em "creation code" e digita "drop = true".
Daí só você colocar uma condição no evento do obj_enemy. Algo tipo 
if drop
{
   instance_create(x, y, item);
   instance_destroy();
}
 
Avatar do usuário
Cheguevara
Membro
Membro
Mensagens: 31
Registrado em: Qua Set 28, 2016 3:27 pm

Re: uso de instâncias diferentes do mesmo objeto

Qui Set 21, 2017 3:29 pm

Você pode fazer uma checagem pelo "ID", é só colocar caso você queira que o objeto ao colidir com tal, solte um item;
instance_create(x+random_range(x1, x2), y+random_range(y1, y2), obj_drop)
instance_destroy(id);
 
Avatar do usuário
adiplomatique
Novato
Novato
Autor
Mensagens: 13
Registrado em: Sáb Set 26, 2015 10:35 am

Re: uso de instâncias diferentes do mesmo objeto

Qui Set 21, 2017 8:55 pm

DKOELHO,
obrigado pela explicação. aconteceu que quando eu destruo uma das instâncias, a instância onde coloquei o código se destrói automaticamente e libera o item. no entanto, uma maneira predeterminada simples que acabei encontrando foi abrir um evento de destruição e 
if id = [nome da instância]
{instance_create(x,y,objeto_item)}


CHE,
acho que me expressei mal. quando mencionei aleatoriamente, quis dizer que não predeterminaria qual delas soltaria o item, mas um código que escolhesse aleatoriamente qual instância despejaria o item. de qualquer maneira, experimentei sua sugestão e deu erro na parte do " instance_destroy(id)", funcionando somente a primeira linha. agradeço também o interesse em responder à dúvida.
se souberem uma maneira em que o código escolha aleatoriamente qual das instâncias vai liberar o item, valeu também! ao jogar, acabei achando que essa opção seria mais legal.
 
Avatar do usuário
Cheguevara
Membro
Membro
Mensagens: 31
Registrado em: Qua Set 28, 2016 3:27 pm

Re: uso de instâncias diferentes do mesmo objeto

Sex Set 22, 2017 8:16 pm

@adiplomatique
Deu erro na parte do "ID", por que você colocou na colisão com o objeto, a colisão já pega o ID, só funcionaria caso você coloca-se no step ou ao apertar alguma tecla, depois que você explicou oque queria é de fato que você vai ter que usar ds_list ou arrays.
Posso estar errado e estar falando merda k, muito tempo sem mecher com GMS
 
Kapoty
Novato
Novato
Mensagens: 1
Registrado em: Dom Ago 23, 2015 11:55 am

Re: uso de instâncias diferentes do mesmo objeto

Sáb Set 23, 2017 11:33 pm

dkoelho escreveu:
No create deles, cria uma variável tipo "drop = false". Depois na room, vai no que você quer que drope, clica com o direito, vai em "creation code" e digita "drop = true".
Daí só você colocar uma condição no evento do obj_enemy. Algo tipo 
if drop
{
   instance_create(x, y, item);
   instance_destroy();
}


Faça isso que foi dito pelo dkoelho, e no evento create de algum objeto controle ou algo do tipo coloque:


(instance_find(obj_enemy, irandom(instance_number(obj_enemy)-1))).drop=true;
 
Avatar do usuário
Riccardoric
Membro
Membro
Mensagens: 24
Registrado em: Seg Set 14, 2015 1:46 pm

Contato:

Re: uso de instâncias diferentes do mesmo objeto

Sáb Set 30, 2017 4:47 pm

Olá, 
Apenas para incrementar... Você pode armazenar o ID dos inimigos ao criá-los, dessa forma:
inimigo[1] = instance_create(x,y,oInimigo);
inimigo[2] = instance_create(x,y,oInimigo);
...
Essas variáveis vão conter o ID de cada objeto criado. Ai é só manipular a vontade

Espero ter ajudado de algum forma

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante