Página 1 de 1
[GM2] Como "pegar"(set) uma variável usando with
Enviado: Ter Ago 02, 2022 9:42 pm
por GhostPower
Boa noite, Devs
Estou construindo um game e estou com um problema.
Tenho um objeto e clonei em 15 do mesmo, então queria quando apertar no objeto verde escolher um deles aleatoriamente e instanciar um outro objeto em cima com uma condiçao se estiver vazios.
Abaixo uma imagem para melhor entendimento:
Estou usando este código abaixo, mas sei q esta errado muita coisa.
var i = 0; usando para ser um contado e percorrer os objetos.
with(o_place)
{
if other. o_place.posicao(aqui esta o erro) = posicao
{
pega a posicao do x e y e salva em duas variavel: posicaoX e posicaoY
depois instancia o objeto estas posiçoes que salvei
}
}
Alguém sabe com faço isso? Por favor, queria fazer sem usar o array, se existir um jeito
Desde já, muito obrigado pela atenção de todos.
Re: [GM2] Como "pegar"(set) uma variável usando with
Enviado: Qua Ago 03, 2022 9:33 am
por All-x
Postar o código completo ajudaria muito, até pra seguir a mesma lógica.
Enfim, o jeito mais simples é ter dois objetos
obj_azul e
obj_verde (Isso pra evitar usar listas, arrays ou loops dentro de loops). Depois tu pode criar um parent se quiser agrupá-los se quiser.
No evento "
Mouse -> Left Pressed" do
obj_verde:
Código: Selecionar todos
// Sorteia uma instância de 'obj_azul'
var i = instance_find(obj_azul, irandom(instance_number(obj_azul) - 1));
// Cria 'obj_verde' na posição do 'obj_azul'
instance_create_depth(i.x, i.y, 0, obj_verde);
// Deleta instância 'obj_azul' que estava embaixo
instance_destroy(i);
// Se não quiser deletar a instância 'obj_verde' anterior remova a linha abaixo
instance_destroy();
Re: [GM2] Como "pegar"(set) uma variável usando with
Enviado: Qua Ago 03, 2022 6:03 pm
por GhostPower
Boa tarde, All-x
Desculpe, mas este e todo o código que tenho, nem sabia como começar.
Cara, se eu quiser escolher o objeto entre todos seria isso?
// Sorteia uma instância de 'obj_azul'
var i = instance_find(obj_quadrado, no exe: 1,2,3,4);
Certo? numeraria cada um?
Neste caso o que mudaria se fosse parent?desempenho ou facilidade?
Se fosse no array seria mais 'pesado' ne?
Com este código ele 'varrer' todos os objetos? tenho controle de todos eles?
Muito obrigado pela ajuda, All-x.
Re: [GM2] Como "pegar"(set) uma variável usando with
Enviado: Qui Ago 04, 2022 2:12 pm
por All-x
O ganho computacional é irrisório a depender de quantas instâncias. Tanto que só sentiria diferença no caso de haverem milhares de instâncias. Então não haveria grandes perdas de performance ao usar arrays 'pequenas' sendo percorridas.
A forma que passei foi só a mais simplista que não percorre todas as instâncias, apenas sorteia uma de 0 à n (quantidade de instâncias).
A questão do parent, só citei para caso quisesse manipular os dois tipos de uma vez. Ex: o azul e o verde sendo filhos do quadrado, caso quisesse destruir todos só usaria instance_destroy(obj_quadrado).
Re: [GM2] Como "pegar"(set) uma variável usando with
Enviado: Qui Ago 04, 2022 7:34 pm
por GhostPower
Boa noite, All-x.
Muito obrigado pelas respostas, teria como vc postar o código de percorrer todas os objetos do mesmo?
Como seria se fosse para eu colocar na posiçao desejada? Ex: 1-posiçao, 2-posiçao, etc.
Muito obrigado pela ajuda.