Conectar-se
Quem está conectado
14 usuários online :: Nenhum usuário registrado, Nenhum Invisível e 14 Visitantes

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 24/02/2013
Número de Mensagens : 2
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

[Resolvido]Contagem regressiva com reiniciar

em Dom 24 Fev 2013, 11:46
Galera, achei esse link onde explica (http://gmbr.forumeiros.com/t7668-cronometro-de-contagem-regressiva?highlight=Contagem+regressiva), mas eu não sei oq colocar pro jogo reiniciar ao final da contagem REGRESSIVA.
Podem me ajudar?
avatar
Ranking : Nota B
Notas recebidas : B
Data de inscrição : 22/02/2013
Número de Mensagens : 54
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 2

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuário

Re: [Resolvido]Contagem regressiva com reiniciar

em Dom 24 Fev 2013, 13:00
Vamos recapitular o que fora feito no tópico que você citou:

Vamos supor que você criou um objeto chamado obj_tempo, criaremos então os eventos e seus respectivos comandos e vamos acionar um alarme com o valor da room_speed (lembrando que para inserir um código, é só arrastar a ação "Execute a piece of code" para o objeto).

Evento Create:

Neste evento, vamos declarar as variáveis que determinarão o tempo antes da contagem regressiva
Código:
/* Não chamei a variável dos minutos de 'min' porque existe uma função com este nome, que encontra o menor número entre os argumentos colocados nela, mas isso não vem ao caso. Portanto, escreva qualquer coisa, menos 'min', ok?*/

mn = 5        //minutos
sec = 30    // segundos
alarm[0] = room_speed

Evento Alarm 0:

Declaradas as variáveis no evento "Create", criaremos o evento "Alarm 0", que foi colocado no "Create" com o valor de room_speed
Vamos lembrar que 1 segundo equivale à quantidade de frames em relação à room_speed. Seu valor padrão é 30. Portanto 1 segundo equivale a 30 frames neste caso, mas essa variável pode ser alterada.
Código:
if sec < 0 {
            mn -= 1
            sec = 59
          }
          else {sec -= 1}

Evento Step:

Este evento ocorrerá a cada frame corrido no jogo. Lembre-se que alarme, quando acionado, ele vai subtraindo-se por 1 a cada frame até chegar ao seu valor inicial, que é -1. Depois disso o evento do alarme não acionará mais. Então teremos de ativá-lo de novo:
Código:
if alarm[0] == -1 then alarm[0] = room_speed
Nele vamos também, finalmente, responder a sua pergunta. Criaremos uma condição dizendo se os minutos e os segundos chegaram ao valor de 0, logo o jogo reiniciará com um comando chamado game_restart(). Veja:
Código:
if mn == 0 and sec == 0 {game_restart()}

Não se esqueça, é claro, de desenhar o tempo na tela do seu jogo.

Evento Draw:

Aqui nós vamos fazer o relógio aparecer a tela, desenhando as variáveis que você declarou no evento "Create". Lembrando que este comando pode ser aprimorado, é apenas uma ideia, pois provavlemente, você pode querer fazer o relógio com 2 dois dígitos na unidade de tempo dos segundos:

Código:
draw_text(120,120,mn)
draw_text(132,120,':')
// Deixar os segundos sempre com 2 dígitos, mesmo abaixo de 10
if sec < 10 {
              draw_text(136,120,0)
              draw_text(144,120,sec)
            }
            else{draw_text(136,120,sec)}

Lembrando, é claro, que as coordenadas x e y do texto ficam à sua vontade.

Espero ter te ajudado. Qualquer coisa é só falar aqui no fórum que a gente te dá uma força Happy
avatar
Data de inscrição : 24/02/2013
Número de Mensagens : 2
Insígnias de JAM :

Insignia 1x 0 Insignia 2x 0 Insignia 3x 0
Reputação : 0
Ver perfil do usuário

Re: [Resolvido]Contagem regressiva com reiniciar

em Dom 24 Fev 2013, 16:14
Vlw Cara! Ja tava a um tempão atrás desta ajuda. É para um trabalho de escola :DD
Ver o tópico anteriorVoltar ao TopoVer o tópico seguinte
Permissão deste fórum:
Você não pode responder aos tópicos neste fórum