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.

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

Perguntas? A comunidade te ajuda a resolver.
Avatar do usuário
Rodrigo_GM
Membro
Membro
Reações: 0
Mensagens: 23

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

Mensagem por Rodrigo_GM » 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:  

Avatar do usuário
All-x
Administrador
Administrador
Reações: 8
Mensagens: 621
Localização: Dourados-MS

Contato:

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

Mensagem por All-x » Seg Jun 17, 2019 11:54 am

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

Código: Selecionar todos

matriz[0,0] = instance_create(x, y, obj_ini);
Para alterar, por exemplo, a posição x dessa instância basta usar:

Código: Selecionar todos

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:

Código: Selecionar todos

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).
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
Membro
Membro
Reações: 0
Mensagens: 23

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

Mensagem por Rodrigo_GM » 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.

Responder

Quem está online

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