Página 2 de 2
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Seg Nov 02, 2020 3:58 pm
por Chuaschinai
Consegue quando você usa o Event Collision você pode usar a constant
other ou
with para pegar as variáveis que estão no objeto que você colidiu, assim:
ou
Se você precisa procurar todos os slots vazios basta fazer um loop nos objetos que existem na room assim:
Código: Selecionar todos
for(var i = 0; i < instance_number(obj_slot); i++) {
var _obj = instance_find(obj_slot, i);
if(_obj.slot == "Vazio") {
// Faz algo aqui, com o slot vazio
}
}
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Sáb Nov 07, 2020 11:21 am
por GhostPower
Bom dia
Vlw grononmc,
Vou ver como funciona.
Obrigado pela ajuda.
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Sáb Nov 07, 2020 2:27 pm
por GhostPower
Boa tarde
grononmc,
Código: Selecionar todos
...
if(_obj.slot == "Vazio"){
global.item.x = _obj.x;
global.item.y = _obj.y;
}
O que esta errado?
Obrigado pela ajuda.
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Sáb Nov 07, 2020 4:53 pm
por Chuaschinai
GhostPower escreveu:Boa tarde
grononmc,
Código: Selecionar todos
...
if(_obj.slot == "Vazio"){
global.item.x = _obj.x;
global.item.y = _obj.y;
}
O que esta errado?
Obrigado pela ajuda.
Parece estar normal, qual o erro que esta dando?
Re: Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Sáb Nov 07, 2020 5:28 pm
por GhostPower
Boa tarde
Grononmc,
Desculpa esqueci de fala o erro
ERROR in:
Unable to find instance for object index -4
Ele nao acha a instancia; como usa o _obj? queria colocar o item em qual o slot esta vazio
Muito obrigado pela ajuda.
Re: Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Sáb Nov 07, 2020 8:32 pm
por Chuaschinai
GhostPower escreveu:Boa tarde
Grononmc,
Desculpa esqueci de fala o erro
ERROR in:
Unable to find instance for object index -4
Ele nao acha a instancia; como usa o _obj? queria colocar o item em qual o slot esta vazio
Muito obrigado pela ajuda.
Ata, naquele exemplo que te passei não fiz tratamento de código erro meu, basta fazer assim:
Código: Selecionar todos
if(instance_exists(_obj)) {
if(_obj.slot == "Vazio"){
global.item.x = _obj.x;
global.item.y = _obj.y;
}
}
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Dom Nov 08, 2020 8:45 am
por GhostPower
Bom dia
Grononmc,
Ainda esta com a mesma mensagem. A funçao instance_exists nao funcionou.
Procurando pela internet encontre o function Wich
Código: Selecionar todos
...
if(instance_exists(_obj)
{
var _obj = instance_find(obj_slot, i);
with (_obj)
{
if(_obj.slot = "Vazio")
{
...
Usar ou nao usar o With? O objeto slot e um children
Muito obrigado pela ajuda.
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Dom Nov 08, 2020 11:21 am
por Chuaschinai
GhostPower escreveu:Bom dia
Grononmc,
Ainda esta com a mesma mensagem. A funçao instance_exists nao funcionou.
Procurando pela internet encontre o function Wich
Código: Selecionar todos
...
if(instance_exists(_obj)
{
var _obj = instance_find(obj_slot, i);
with (_obj)
{
if(_obj.slot = "Vazio")
{
...
Usar ou nao usar o With? O objeto slot e um children
Muito obrigado pela ajuda.
Não amigo, da forma que você implementou, esta da forma errada, tem de ser assim:
Código: Selecionar todos
for(var i = 0; i < instance_number(obj_slot); i++) {
var _obj = instance_find(obj_slot, i);
if(instance_exists(_obj)) {
if(_obj.slot == "Vazio"){
global.item.x = _obj.x;
global.item.y = _obj.y;
}
}
}
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Dom Nov 08, 2020 1:00 pm
por GhostPower
Boa tarde
Grononmc,
Entao, mas o erro continua mesmo colocando o seu codigo
ERROR in
Unable to find instance for object index -4
O que pode ser?
Vlw
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Dom Nov 08, 2020 2:51 pm
por Chuaschinai
GhostPower escreveu:Boa tarde
Grononmc,
Entao, mas o erro continua mesmo colocando o seu codigo
ERROR in
Unable to find instance for object index -4
O que pode ser?
Vlw
Pode ser que algum desses dois objetos não existam, ou o global.itemSave não existe, ou o objSlot não existe de um show_debug_message neles e veja qual retorna um valor de -4(noone).
Re: Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Ter Nov 10, 2020 8:47 pm
por GhostPower
Boa noite
Vlw, ja arrumei o erro.
Existe uma maneira para usar o return? sabe para otimizar a memoria.
Acho o primeiro slot vazio ja sai do loop do for.
Vlw obrigado pela ajuda.
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Ter Nov 10, 2020 9:25 pm
por Chuaschinai
Para sair do loop, basta quando encontrar um slot vazio no final do código usar um break, para dar um stop no loop:
Código: Selecionar todos
for... {
...
if(_obj.slot == "Vazio"){
global.item.x = _obj.x;
global.item.y = _obj.y;
break;
}
}
Re: GameMaker Studio 2: Como colocar um array no objeto clone
Enviado: Sáb Nov 14, 2020 10:56 am
por GhostPower
Bom dia
Grononmc,
Vlw, funcionou.
Muito obrigado pela ajuda.