Ir para a proxíma room caso o obj_caixa estiver no obj_alvo.

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

Ir para a proxíma room caso o obj_caixa estiver no obj_alvo.

Mensagem por HL8 - Heber Luciano em Qua 15 Jul 2009, 11:50

Hello

Bom, estou começando a fazer um game do famoso Sokoban.
e então, eu queria saber como fazer trocar de fase, quando todos os obj_alvo,
estiverem sido preenchidos por obj_caixa...

Espero resposta, vlw!

HL8 - Heber Luciano

Número de Mensagens : 129
Data de inscrição : 20/06/2009
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Ir para a proxíma room caso o obj_caixa estiver no obj_alvo.

Mensagem por makgamer em Qua 15 Jul 2009, 12:35

acho que entendi num objeto contador coloque:
create:
Código:
global.caixas = 0
e no objeto alvo:
create
Código:
global.caixas += 1
colission com caixa:
Código:
global.caixas -= 1
e no objeto contador:
step:
Código:
if (global.caixas == 0)
{room_goto_next();}
tenta

makgamer

Ranking : Nota D
Número de Mensagens : 927
Idade : 18
Data de inscrição : 29/03/2009
Notas recebidas : D
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   : 1
   :

Voltar ao Topo Ir em baixo

Re: Ir para a proxíma room caso o obj_caixa estiver no obj_alvo.

Mensagem por Igor KinGamer em Qua 15 Jul 2009, 14:18

Assim não iria dar certo, deixando no colision "global.caixas -= 1", todos os steps em que a caixa estivesse em cima do alvo iria diminuir a variável, e mesmo se tirasse a caixa do alvo a variável não aumentaria de volta.

Dá pra você criar um objeto tipo obj_caixanoalvo. Então, no colision do obj_caixa com o obj_alvo, ele se transforma no obj_caixanoalvo {instance_change(obj_caixanoalvo, false)}. No obj_caixanoalvo, no evento de empurrar ele (em todas as direções), você transforma ele de volta no obj_caixa (assim, se ele for empurrado para fora do alvo, volta a ser uma caixa normal, e se você empurrar para cima de outro alvo, já se transformará de novo em obj_caixanoalvo).

Então, crie um objeto controle, e use ele para saber se todas as caixas estão em cima dos alvos. Para descobrir isso, é só testar se o número de obj_caixanoalvo = número de obj_alvo.

Só coloque no step desse objeto controle:

if (instance_number(obj_caixanoalvo ) == instance_number(obj_alvo))
room_goto_next();

Igor KinGamer

Número de Mensagens : 890
Idade : 21
Data de inscrição : 26/09/2008
Reputação : 11
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   :
   :
   :

Voltar ao Topo Ir em baixo

Re: Ir para a proxíma room caso o obj_caixa estiver no obj_alvo.

Mensagem por Conteúdo patrocinado Hoje à(s) 08:37


Conteúdo patrocinado


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