Obrigado por visitar a The Game Makers Brasil Use o fórum de Dúvidas para fazer perguntas. Se está em busca de aprender dê uma olhada nos tutoriais. |
uso de instâncias diferentes do mesmo objeto
- adiplomatique
- Novato
- Reações: 0
- Mensagens: 13
-
uso de instâncias diferentes do mesmo objeto
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!
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!
Re: uso de instâncias diferentes do mesmo objeto
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
Daí só você colocar uma condição no evento do obj_enemy. Algo tipo
Código: Selecionar todos
if drop
{
instance_create(x, y, item);
instance_destroy();
}
- Cheguevara
- Game Designer
- Reações: 0
- Mensagens: 44
-
Re: uso de instâncias diferentes do mesmo objeto
Você pode fazer uma checagem pelo "ID", é só colocar caso você queira que o objeto ao colidir com tal, solte um item;
Código: Selecionar todos
instance_create(x+random_range(x1, x2), y+random_range(y1, y2), obj_drop)
instance_destroy(id);
- adiplomatique
- Novato
- Reações: 0
- Mensagens: 13
-
Re: uso de instâncias diferentes do mesmo objeto
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
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.
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
Código: Selecionar todos
if id = [nome da instância]
{instance_create(x,y,objeto_item)}
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.
- Cheguevara
- Game Designer
- Reações: 0
- Mensagens: 44
-
Re: uso de instâncias diferentes do mesmo objeto
@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
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
Re: uso de instâncias diferentes do mesmo objeto
Faça isso que foi dito pelo dkoelho, e no evento create de algum objeto controle ou algo do tipo coloque: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 tipoCódigo: Selecionar todos
if drop { instance_create(x, y, item); instance_destroy(); }
Código: Selecionar todos
(instance_find(obj_enemy, irandom(instance_number(obj_enemy)-1))).drop=true;
- Riccardoric
- Membro
- Reações: 0
- Mensagens: 24
-
- Contato:
Re: uso de instâncias diferentes do mesmo objeto
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
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: Semrush [Bot] e 0 visitante