]Como bloquear e desbloquear fases.

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

]Como bloquear e desbloquear fases.

Mensagem por gabrielalves_3.0 em Qua 02 Maio 2012, 21:21

Olá, eu gostaria de saber, como eu faço para bloquear fases e desbloquear.
Fiz um menu de seleção de fases, mas queria que desbloqueasse apenas ao passar da anterior, e gostaria também de colocar um sprite de cadeado enquanto a fase estiver bloqueada. Compreendem?
Desde já, eu agradeço!


Última edição por gabrielalves_3.0 em Qua 02 Maio 2012, 21:23, editado 1 vez(es) (Razão : Modificar título)

gabrielalves_3.0

Ranking : Nota B
Número de Mensagens : 33
Data de inscrição : 02/05/2012
Notas recebidas : B-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ]Como bloquear e desbloquear fases.

Mensagem por saim em Qui 03 Maio 2012, 08:34

Crie uma array global. Tipo
Código:
globalvar desbloqueado;
desbloqueado[0] = true;
desbloqueado[1] = false;
desbloqueado[2] = false;
desbloqueado[3] = false;
...
Ao terminar cada fase, altere o valor de "desbloqueado[próxima fase]" pra true.
Na tela de seleção, coloque o desenho e a possibilidade de escolher a fase dependendo dessa variável:
(pseudocódigo)
se (desbloqueado[meu] ==true){
desenha sem o cadeado;
}
else{
desenha com o cadeado;
}

se (desbloqueado[meu] ==true && clicou){
vai pra fase "estágio[meu]"
}
// não precisa de "else" aqui. Se não cumpriu as duas condições acima, não faz nada

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: ]Como bloquear e desbloquear fases.

Mensagem por Super Maker em Qui 03 Maio 2012, 08:39

Digamos que você quer entrar na sua casa (próxima fase) e as chaves (variável) estão na casa da tia (fase anterior).
Então você tem que voltar e procurar (jogar outra vez a fase anterio) achar as chaves e proseguir pra casa.

Isso é lógica de programação.

Você tem que criar uma var que guarde o valor até ele ser testado na seleção de fazes, se ele for verdadeiro você entra se não é tentar tornar ele verdadeiro.

Exemplo:
No create do objeto que você quizer, faz...
Código:
proxima_fase=0
E no step do objeto que vai checar isso ni menu de seleção de fases faz...
Código:
if fase_select=2 and proxima_fase=1{room_goto(2);proxima_fase=0;}
No fim de cada fase deve aver um objeto ou evento do próprio player que faça isso...
Código:
proxima_fase=1;
Entende?

Super Maker

Número de Mensagens : 646
Idade : 33
Data de inscrição : 09/07/2011
Reputação : 6
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Re: ]Como bloquear e desbloquear fases.

Mensagem por gabrielalves_3.0 em Sab 05 Maio 2012, 14:43

Será que teria como fazer isto sem utilizar script? Porque eu não entendo muita coisa de scripts!!!

gabrielalves_3.0

Ranking : Nota B
Número de Mensagens : 33
Data de inscrição : 02/05/2012
Notas recebidas : B-C
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Re: ]Como bloquear e desbloquear fases.

Mensagem por saim em Seg 07 Maio 2012, 09:34

Você quer dizer "usando drag'n'drop"? Possível, mas desaconselhável. Existe, em drag'n'drop, um ícone Action Variable que seria algo como "declarar variável". Você pode usar ele. Tem algum tempo que não uso DND, então não posso afirmar, mas acho que tem uma caixa de seleção que, sendo clicado, torna global a variável. Se eu estiver viajando, use "global." (com o ponto) antes do nome da variável toda vez que se referir a ela.
Declare dezenas de variáveis como "false". fase1liberdada = false; fase2liberada = false; fase3liberada = false, tudo global, tudo através desse ícone. Cuidado pra não fazer essa declaração na room de seleção de fases, senão toda vez que chegarmos nessa room, as variáveis serão declaradas como "false" de novo.
Depois, pra verificar se a variável é true ou false, use um ícone parecido: Action If Variable . Em função do valor da variável ser true ou false, você desenha de um jeito ou outro e permite/proíbe o clique.
No final de cada fase, você cuidadosamente define qual variável passará a ter seu valor tornado true. Então, por exemplo, no final da primeira fase, o valor da variável fase2liberada passa a ser true.

Isso é muito mais trabalhoso que usar GML e arrays, mas é possível. Se você ainda acha a idéia de usar códigos em forma de texto um pouco assustadora, é uma alternativa.
Mas deixo clara a minha opinião de que os códigos em forma de texto são exatamente iguais aos códigos em forma de ícones, apenas são menos amigáveis, menos "bonitinhos". Ah, e claro, muito mais versáteis.

Edit: Eu cortei o "fase1liberdada = false" e esqueci de dizer porquê... bom, obviamente, o jogador precisa ter alguma fase liberada pra poder liberar as outras. Como cada objeto-portal (aqueles ícones que você clica pra jogar a fase) verifica por uma variável, acho desaconselhável criar um objeto diferente pra fase1. É didático você ir se acostumando a padronizar seus objetos (não faça disso um dogma, mas tente padronizar sempre que possível). Bom, se todos os objetos verificam pelo valor de uma variável, o primeiro objeto também irá verificar o valor da sua variável. Se ele for false, o jogador não terá direito a jogar fase nenhuma. Então, quando for declarar todas as variáveis como "false", abra uma exceção pra primeira fase.

saim

Ranking : Nota B
Número de Mensagens : 2964
Idade : 38
Data de inscrição : 14/01/2011
Notas recebidas : C-D-A-B
Reputação : 121
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 1
   : 0
   : 3

Voltar ao Topo Ir em baixo

Re: ]Como bloquear e desbloquear fases.

Mensagem por Conteúdo patrocinado Hoje à(s) 11:35


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