Avatar do usuário
GhostPower
Membro
Membro
Autor
Mensagens: 38
Registrado em: Qui Fev 01, 2018 10:38 am
Karma: 61

[Game Maker] Como acessar uma variável pelo outro objeto?

Qua Out 03, 2018 8:24 pm

Boa noite

Desenvolvedores,

Dei um tempo e agora estou tentando voltando. Bom, tenho objeto(item) que colide com objeto(slot) assim consigo acessar as propriedades do objeto(item), nele tem uma variável que armazena o objeto(tiro). Tenho uma variável global para armazenar o objeto(tiro), mas o problema e que
quando atiro o objeto que "sai" e o objeto(slot).

Abaixo o fragmento do código.

Step Event:
...

//variável no item --- itemTiro = obj_tiro;

global.tiroSalvo = other.itemTiro;

...


No objeto dispara:

...
instance_create(x,y,global.tiroSalvo);
...


E ai pessoal alguém com atirar o objeto(tiro)?

Desde já obrigado pela ajuda.
1

Tags:
 
Avatar do usuário
jonnyall
Membro
Membro
Mensagens: 47
Registrado em: Ter Abr 04, 2017 1:31 am
Karma: 77

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qua Out 03, 2018 9:09 pm

Cara, eu não entendi bem mas se for oq eu to pensando esse Step event seria o evento de colisão de slot com item pra pegar o tiro ? Pq se esse other esta em steep, ele so vai retornar ... não sei :V, mas algum numero q pode se referir alguns dos outros objetos, não sei se vc só errou escrevendo aqui mas se caso for isso, tente mudar esse evento steep para o de colisão
1
AS: Jonnyall

Imagem
 
Avatar do usuário
Mega
Programador
Programador
Mensagens: 55
Registrado em: Dom Mai 22, 2016 6:20 pm
Karma: 63

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qua Out 03, 2018 9:39 pm

Step Event:
...
//variável no item ---
itemTiro = obj_tiro;
global.tiroSalvo = itemTiro;
...

Só tirar o other do código :palmas:
Deixe-me explicar (mesmo que eu não tenha certeza)  
itemTiro = obj_tiro;

Aqui você definiu a variável itemTiro como um objeto (no caso o objeto é o obj_tiro),então sempre que você chamar a variável itemTiro,retornará o obj_tiro.
Caso não tenha o resultado que você queira,fale oque você esta querendo fazer mais detalhadamente. :o.-:
1
 
Avatar do usuário
GhostPower
Membro
Membro
Autor
Mensagens: 38
Registrado em: Qui Fev 01, 2018 10:38 am
Karma: 61

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qua Out 03, 2018 10:21 pm

Boa noite

jonnyall e Mega

Jonnyall:

Cara, esta no Event step no objeto(slot), houve uma colisão assim uso o other ou uma variavel qualquer para acessar o objeto(item) na variável itemTiro. Pelo meu código uso no Event Step.

Mega:

Cara coloquei propositalmente o // para indicar um comentário dentro do código. Apenas informando que no objeto(item) que colide com o objeto(slot) tem uma variável que armazena o objeto chamado obj_tiro para fazer o disparo.

Para esclarecer mais duvidas olha o código do objeto(item):


itemNome = "Super"
itemTiro = obj_tiro;
itemValor = 100;
...


O problema e que ele não acessa a variável itemTiro e não sei o pq ele instancia o objeto(slot) no lugar

Obrigado pela ajuda.
 
Avatar do usuário
jonnyall
Membro
Membro
Mensagens: 47
Registrado em: Ter Abr 04, 2017 1:31 am
Karma: 77

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qui Out 04, 2018 12:22 am

Haaa sim, oq VC pode fazer no steep event é usar a função instace_plance

Steep Event 

var tempitem = instace_plance(x, y, obj_item);

if tempitem
      global.tiroSalvo = tempitem.itemTiro;
     
 


Bom assim VC identifica qual foi o objeto item q colidiu com sloot e ainda pega sua id, (no caso de VC ter mais de uma instância item)

Desculpa a formatação, é q estou no celular
AS: Jonnyall

Imagem
 
Avatar do usuário
GhostPower
Membro
Membro
Autor
Mensagens: 38
Registrado em: Qui Fev 01, 2018 10:38 am
Karma: 61

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qui Out 04, 2018 9:25 am

Bom dia
Jonnyall,

Cara, não quero o id da objeto(item) que colide com o slot, quero acessar a variável no objeto(item) que armazena o objeto(tiro).

Troquei o event para Collision Event, porem não acessa a variável também.

Obs.: Eu consigo acessar todas as variáveis do objeto(item), mas não consigo instancia a variável que armazena o objeto(tiro).

Obrigado pela ajuda.
 
Avatar do usuário
None
Colaborador
Colaborador
Mensagens: 168
Registrado em: Sáb Abr 14, 2018 8:11 pm
Karma: 351

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qui Out 04, 2018 10:26 am

Eu li umas 5x seu primeiro post e ainda não entendi exatamente o que você quer.

Então deixa eu ver se tenho ideia do que você quer.

Você possui um objeto que vai atirar.
Este objeto só vai ganhar carga quando colidir com o item?

Sério cara, acho que o problema é mais de comunicação do que de qualquer coisa, só para escrever duas linhas de interpretação eu precisei olhar mais 3-4x sua primeira postagem.
Tente explicar melhor o que você quer primeiro, depois como você quer
Cachorro-quente!!!

Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx
 
Avatar do usuário
DarlesLSF
Membro
Membro
Mensagens: 74
Registrado em: Qui Set 06, 2018 2:54 am
Localização: Humaitá - RS
Karma: 97

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qui Out 04, 2018 11:09 am

Eu realmente gostaria de te ajudar, mas não consegui entender direito.
Mas se tu quer acessar a variável de outro objeto, não seria só fazer algo do tipo:
with (objeto_que_você_quer_acessar_a_variável)
{
// ação desejada
}
 
Avatar do usuário
GhostPower
Membro
Membro
Autor
Mensagens: 38
Registrado em: Qui Fev 01, 2018 10:38 am
Karma: 61

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qui Out 04, 2018 5:03 pm

Boa tarde
a todos,

Vamos la,

Tenho dois objetos.

Objeto = slot para item.

Objeto = item.

Usando o drag and drop levo item para o slot.

Assim o objeto item colide com o objeto(slot).

No objeto item tem uma variável do tipo objeto. --- para armazenar um objeto.

Como faço para guardar este objeto em uma variável?

Tentei explicar passo a passo.

Obrigado pela ajuda de todos.
 
Avatar do usuário
None
Colaborador
Colaborador
Mensagens: 168
Registrado em: Sáb Abr 14, 2018 8:11 pm
Karma: 351

Re: [Game Maker] Como acessar uma variável pelo outro objeto?

Qui Out 04, 2018 11:18 pm

Eu acho que eu entendi.

Neste caso você só precisa usar o object_get_name(Index); e pronto.
O ideal é criar uma variável e guardar nela está informação.

Desta forma você pode instanciar esta variável que ele cria um objeto com o nome guardado nela.
Talvez você precise usar other.id, mas não acho que seja necessário.

Eu não tenho certeza se este recurso exite em versões mais antigas do GM, então talvez você precise usar o asset_get_index, neste caso você provavelmente vai precisar de criar dentro de cada objeto que será criado uma variável de texto com o nome deles como está no seu projeto.

Espero ter ajudado ^^'
Cachorro-quente!!!

Como criar um jogo de RPG Japonês no estilo Final Fantasy https://goo.gl/efr6fx

Quem está online

Usuários navegando neste fórum: Nenhum usuário registrado e 1 visitante