Avatar do usuário
Rodrigo_GM
Novato
Novato
Autor
Mensagens: 12
Registrado em: Dom Set 03, 2017 12:30 pm
Karma: 22

Como modificar variáveis através de uma id?

Seg Jun 17, 2019 11:32 am

Ola todos, bom minha duvida é o seguinte. Tenho uma matriz, la armazenei algumas  Ids de uns objetos que foram criados a partir de um objeto. que chamarei de obj_sis.
ate ai tudo bem, mas agora que ta minha duvida. Como posso usar essas Ids para alterar algumas variáveis dessas instancias armazenadas. Tipo gostaria de alterar a velocidade ou a vida da instancias do obj_ini, através do obj_sis.

Para vocês antederem melhor, vou explica o que eu estou tentando fazer.
Primeiro o obj_sis tem que criar 6 instancias aleatoriamente. Entre essas 6, uma é o obj_play, e o resto é o obj_ini. Ao mesmo tempo que ele armazena a ordem de  criação das instancias. Logo depois usando a ordem que foi armazena anteriormente para mover as instancias de um ponto "x" para  "y", uma de cada vez, de acordo com a ordem que foi armazena. também usarei essa mesma ordem que foi gerada na criação das instancias do obj_ini para criar um tipo de sistema turno.

Mas minha maior duvida para esse tópico é, Como usar id de instância de um objeto para alterar variáveis dessa instância.

espero que tenha sido claro com minha duvida, o muito obrigados a todos que perderem seu tempo me ajudando.   :coffee:  

Tags:
 
Avatar do usuário
Alex FC
Administrador
Administrador
Mensagens: 505
Registrado em: Dom Abr 24, 2016 11:50 pm
Localização: Itaporã-MS
Karma: 896

Contato:

Re: Como modificar variáveis através de uma id?  Tópico resolvido

Seg Jun 17, 2019 11:54 am

Supondo que está utilizando o ID gerado pelo instance_create, assim:

matriz[0,0] = instance_create(x, y, obj_ini);


Para alterar, por exemplo, a posição x dessa instância basta usar:

matriz[0,0].x = 320;


Isso, basta usar o ponto . para ter acesso às variáveis locais da instância.

Para que não haja erros verifique se a instância existe antes:

if instance_exists(matriz[0,0])
{
    matriz[0,0].x = 320;
}


Isso tem que ser feito, pois a instância pode ser destruída e dependendo do seu código, acabar alterando algo que não existe (Resulta em erro).
1
Começando com o Game Maker? Olhou para assinatura certa!

Imagem

Tutoriais e vídeo aulas de programação! Clique no Banner e confira!
 
Avatar do usuário
Rodrigo_GM
Novato
Novato
Autor
Mensagens: 12
Registrado em: Dom Set 03, 2017 12:30 pm
Karma: 22

Re: Como modificar variáveis através de uma id?

Seg Jun 17, 2019 12:29 pm

Iai Alex FC, serviu direitinho. embora que não tinha feito aqui, tão simples como você kkk. Eu não sabia que poderia usar a matriz assim. não sabia que apos usar o instance_create ou melhor o instance_create_dept e ele ainda retornaria o valor da instancia.
e nem sabia que poderia acessar as variáveis de uma instancia de uma maneira tão simples. valeu ajudou muito.

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 6 visitantes