[Pergunta] Objetos no game make com bug

Ver o tópico anterior Ver o tópico seguinte Ir em baixo

[Pergunta] Objetos no game make com bug

Mensagem por KiraYukimura em Seg 18 Maio 2015, 09:22

Bom acabei de finalizar o protótipo do meu jogo e tive muitos problemas com um certo objeto.

Meu jogo é um jogo educacional de plataforma 2D.
Nele o personagem vai andando pela sala (rm_level1) e encontra alguns objetos que o leva para uma outra sala (room_conteudo) que tem um assunto da matéria, ou uma pergunta.

Nessa sala (room_conteudo) coloquei um objeto em forma de botão (obj_btVoltar) para ele voltar para a fase que estava. Para isso coloquei no objeto o evento: left button e dentro do evento coloquei a ação room_goto (rm_level1) .

O problema é que nessa mesma sala (rm_level1) tem uns 5 objetos que levam o jogador para salas de conteudo (ex: room_conteudo1, room_conteudo2, room_conteudo3). E o botão sempre funcionava apenas na última sala (room_conteudo3) e nas outras ela ficava "inativada".

O jeito que encontrei de resolver isso foi criar vários botões (obj_btVoltar1, obj_btVoltar2, obj_btVoltar3) com o mesmo evento. Mas isso é bem chato de fazer, sem contar que para um jogo grande fica inviável ter tantos objetos com a mesma função.

Então minha pergunta é, alguém já teve o mesmo problema e conseguiu resolver de outra forma? De preferência uma forma mais prática.

Ah! Eu uso o Game Maker Studio Standard.

Agradeço aqueles que puderem dar dicas, pois sei que deve ter outras pessoas que tiveram o mesmo problema.

KiraYukimura

Número de Mensagens : 3
Data de inscrição : 18/02/2015
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: [Pergunta] Objetos no game make com bug

Mensagem por matheusco em Seg 18 Maio 2015, 09:35

Você pode criar room_goto(room_generica)

E no Editor da Room, clica com o botão direito neles e vai em Creation Code, esse código é executado depois do Create Event, ou seja, basta alterar o "room_generica" para a room que você deseja naquele botão.

Se você cria o botão através de código, é só fazer:

inst = instance_create...
inst.room_generica = room_desejada

E repetir o processo para cada botão.

Eu faço isso com meu obj_option. Ao invés de ter um objeto para cada opção eu faço assim:

obj_control_game:

inst = instance_create...
inst.option = "fase para menu"

E no obj_option:

Create Event:

changed = false

Step Event:

if !changed
{
switch(option)
{
case "fase para menu":
{
sprite_index = ...
x = ...
y = ...
}
}
}

E quando clico no botão eu pego o valor da variável option e descrevo o que acontece quando retorna "fase para menu".

Parece complicado, mas isso me dá total control sobre o que acontece.

matheusco

Número de Mensagens : 395
Idade : 23
Data de inscrição : 10/08/2014
Reputação : 51
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 0

http://www.tutoriaisgamemaker.com.br

Voltar ao Topo Ir em baixo

Ver o tópico anterior Ver o tópico seguinte Voltar ao Topo

- Tópicos similares

 
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum