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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

[Tutorial] Contagem de Tempo, sem Alarms!

em Seg 15 Ago 2011, 12:13
Nome: Contagem de Segundos, sem alarms!
Ferramenta: Game Maker 8 pro/Lite
Dificuldade: Iniciante
Descrição: Cansado de utilizar alarms!?, a solução é esse tutorial

A lógica


A lógica do sistema é adicionar o valor 1 a uma variável no evento Step.
Como você já sabem o evento Step e executado a cada 1 Frame, e então a cada um
frame o computador irá adicionar + 1 em uma variavel.
Como 30 frames é igual a 1 segundo, se quizesemos que quando dar 5 segundos executasse uma função
usariamos o código que eu irei explicar agora.

O Sistema


Para começarmos a usar a contagem de tempo declare essa variável no evento create de qualquer objeto:

Código:
time=0
// Não altere essa variaveis

E no Step

Código:
time+=1
if time=5*room_speed
{
game_end()
time=0
}

Explicando o código acima:


Código:
 // Adiciona +1 na variavel time
// Se a variavel time for igual a cinco * a variável room_speed (resumindo 5 segundos)
{
//termina o jogo
}
 

Teste o código acima e você verá que ao dar 5 segundos o jogo termina.
Lembrando que você pode alterar o tempo substituindo o 5 pelo tempo desejado.
E também pode alterar a ação em que ele vai executar substituindo o game_end() pela outra função.

Sistema Avançado


Um grande diferencial desse sistema é que você pode fazer uma contagem de tempo no evento Step e Draw, coisa que o Alarm não faz.
Se você quiser que quando apertar por exemplo a tecla Enter iniciar uma contagem de tempo e mudar a cor da background faça assim:

Declare mais uma variavel no create:
Código:
time_add=0

E no Step:

Código:
time+=time_add

if keyboard_check(vk_enter){
time_add=1
}

if time=5*room_speed
{
background_color=c_red
time=0
time_add=0
}

Explicando o código acima:
Código:

// Adiciona a variável time o valor da variável time_add

// Se pressionar a tecla Enter
// A variável time_add vai ser igual a 1

//Se a variável time for igual a 5* a variável room_speed
{
// A cor da background é vermelha
// A variável time vai ser igual a 0
// A variável time_add vai ser igual a 0
}

Gente por hoje é só, isso só foi um básico de um sistema que eu desenvolvi.
FLWS




Última edição por tblima123 em Sab 01 Out 2011, 08:57, editado 3 vez(es) (Razão : Coloquei chaves em um dos "If"s pra ficar mais bunitinho)
avatar
Data de inscrição : 31/08/2010
Número de Mensagens : 630
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://leninja.com.br

Re: [Tutorial] Contagem de Tempo, sem Alarms!

em Seg 15 Ago 2011, 12:20
Não é melhor você usar room_speed em vez de velo_contagem,por que vai que a pessoa muda a velocidade da room e o calculo saia completamente errado.

Bom , eu achei os codes muito extensos,esse sistema e muito simples de fazer com variáveis mas, você mostrou parte por parte de como usar.
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: [Tutorial] Contagem de Tempo, sem Alarms!

em Seg 15 Ago 2011, 17:08
Já troquei a variável velo_contagem pela room_speed...
avatar
Ranking : Sem avaliações
Data de inscrição : 26/04/2010
Número de Mensagens : 1217
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://lightsoftworks.blogspot.com/

Re: [Tutorial] Contagem de Tempo, sem Alarms!

em Seg 15 Ago 2011, 17:36
Bem pensado carinha. Exelente modo mesmo. E ainda por cima dá pra fazer quantas contagens de tempo quiser, ao invés de ter que usar Time-Lines quando não sobrarem mais alarms.

Parabéns! santa
avatar
Ranking : Nota C
Notas recebidas : D-B-C
Data de inscrição : 08/09/2010
Número de Mensagens : 914
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://luizgm.blogspot.com/

Re: [Tutorial] Contagem de Tempo, sem Alarms!

em Seg 15 Ago 2011, 17:37
Parabéns cara, eu ia postar um tutorial assim, mas tudo bem.
Apesar de já usar isso, sempre acho daora.

Finalmente saí do "Mensagens : 666"
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: [Tutorial] Contagem de Tempo, sem Alarms!

em Seg 15 Ago 2011, 17:42
Opa , vlw gente
É uma coisa tão simples...
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 19/02/2011
Número de Mensagens : 285
Insígnias de JAM :

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

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

Re: [Tutorial] Contagem de Tempo, sem Alarms!

em Seg 15 Ago 2011, 21:30
Testei e Deu tudo Certo,Não vejo Problemas para não dar um 8 ou 9,5.
avatar
Ranking : Nota C
Notas recebidas : C-D-B-B-B-C-C-C
Data de inscrição : 10/12/2010
Número de Mensagens : 695
Insígnias de JAM :

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

Prêmios
   : 0
   : 1
   : 0
Ver perfil do usuáriohttp://dopxgames.blogspot.com

Re: [Tutorial] Contagem de Tempo, sem Alarms!

em Ter 16 Ago 2011, 10:38
@Cabeçalho Onlin'E escreveu:Testei e Deu tudo Certo,Não vejo Problemas para não dar um 8 ou 9,5.
A ideia é funcionar...
Conteúdo patrocinado

Re: [Tutorial] Contagem de Tempo, sem Alarms!

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