[TUTORIAL] Cronometro com milissegundos

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

Qualidade [TUTORIAL] Cronometro com milissegundos

Mensagem por itarodrigo em Qua 29 Set 2010, 23:23

Nome: Cronometro com milissegundos
Descrição: Cronometro com minuto, segundo e milesimo
Nível de dificuldade: mediano, avançado
Requerimentos: 8 - Pro/Lite
Desenvolvimento:

Procurei bastante tempo por uma engine de cronometro para criar um jogo de corrida, mas só achei com hora, minuto e segundo.

Resolvi criar uma e vou compartilhar com voces.

Crie um objeto que irei chamar de obj_cronometro, nele crie um evento CREATE com o seguinte codigo:
Código:

globalvar
inicia, volta, minuto, segundo, milesimo, tempojogo;

global.inicia = false;

Crien um evento STEP com o seguinte codigo:
Código:

if global.inicia = true
{

global.volta = current_time - global.tempojogo;

if global.milesimo < 999 {
global.milesimo = current_time - global.tempojogo;
}
else {
global.tempojogo = current_time;
global.segundo += 1;
global.milesimo = 0;
}

if global.segundo > 59 {
global.segundo = 0;
global.minuto += 1;
}
}

crie tambem um evento DRAW com o seguinte codigo:
Código:

draw_text(10,10,string(scr_arruma_tempo(global.minuto,false)) + ":" + string(scr_arruma_tempo(global.segundo,false)) + ":" + string(scr_arruma_tempo(global.milesimo,true)));

finalizamos o componente obj_cronometro

crie um novo objeto chamado obj_inicia_volta, ele irá ativar a contagem, no evento CREATE escreva o seguinte codigo:
Código:

if global.inicia == true
    {
    global.inicia = false;
    }
    else
    {
    global.inicia = true;
    global.tempo = 0;
    global.milesimo = 0;
    global.segundo = 0;
    global.minuto = 0;
    global.tempojogo = current_time;
    }

finalizamos o obj_inicia_volta

por ultimo, crie um script chamado scr_arruma_tempo com o seguinte codigo:
Código:

if argument1 = false
{
    if argument0 < 10
    {
    return "0" + string(argument0);
    }
    if argument0 > 9
    {
    return string(argument0);
    }
    else
    {
    return "00";
    }
}
else
{
    if argument0 < 10
    {
    return "00" + string(argument0);
    }
    if argument0 < 100
    {
    return "0" + string(argument0);
    }
    else
    {
    return string_copy(string(argument0),1,3);
    }
}

crie uma room e coloque os dois objetos dentro dela.
atenção: primeiro coloque o obj_cronometro, pois ele quem inicia as variaveis necessarias para fazer o sistema funcionar. depois inclua um obj_inicia_volta. coloque apenas um objeto de cada

dica: voce pode criar dois objetos, um para iniciar a volta e outro para parar usando a variavel global.inicia

agora teste o jogo.

qualquer duvida, estamos aí.


Última edição por itarodrigo em Qua 29 Set 2010, 23:50, editado 1 vez(es)

itarodrigo

Número de Mensagens : 599
Idade : 33
Data de inscrição : 28/08/2010
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] Cronometro com milissegundos

Mensagem por vitor_liminha123 em Qua 29 Set 2010, 23:30

Hum, é complicado, mas é bem útil.
Muito legal o tuto, mas tenta dar uma explicadinha melhor.

vitor_liminha123

Número de Mensagens : 510
Idade : 18
Data de inscrição : 16/08/2010
Reputação : 12
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://www.newgrounds.com/tanber

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] Cronometro com milissegundos

Mensagem por itarodrigo em Qua 29 Set 2010, 23:49

fica mais facil pra mim, se voce tiver alguma duvida e perguntar, rrsrs.

abraço.

itarodrigo

Número de Mensagens : 599
Idade : 33
Data de inscrição : 28/08/2010
Reputação : 52
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] Cronometro com milissegundos

Mensagem por Super Games em Qui 30 Set 2010, 08:24

Bem utei seu tutorial amigo! Apesar de eu ja saber isso conserteza tem gente que não sabe, entam vai ajudar bastante. Continue assim Happy

Até!

Super Games

Ranking : Nota D
Número de Mensagens : 2704
Idade : 18
Data de inscrição : 10/06/2010
Notas recebidas : D
Reputação : 10
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] Cronometro com milissegundos

Mensagem por gaaby em Qua 27 Jun 2012, 22:55

funcionou ok o/
mas sabe como posso deixar a fonte branca e em negrito?
é que meu cenário é escuro ><
se souber tbm como mostrar a contagem final no game over fico grata

gaaby

Número de Mensagens : 14
Data de inscrição : 02/05/2012
Reputação : 1
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0
Prêmios
   : 0
   : 0
   : 0

http://meatballflying.tumblr.com/

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] Cronometro com milissegundos

Mensagem por Super Maker em Qua 27 Jun 2012, 23:16

Pra fonte ficar branca, acima da linha do texto deixa essa:
Código:
draw_set_color(c_white);
Coloque a var do tempo dentro do laço do game play, pra ela processar só na hora do jogo. E quando for usar pra mostrar em uma tela de resultado usa uma linha como essa:
Código:
draw_text(x,y,"Tempo: "+string(tempo));
Pra ficar em negrito, marca a caixa negrito na propriedade de edicão de fontes.
***Editado***
Eu quero apagar essa minha postagem, pois deixei uma identica em outro tópico.
Não vejo o botão de deletar aqui, então peço que alguém que tenha esse poder faça isso por mim.
Obrigado!

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

Qualidade Re: [TUTORIAL] Cronometro com milissegundos

Mensagem por marllon ramos em Sex 08 Nov 2013, 21:27

Mt bom tutorial!... será mt útil no meu joguinho. Laughing 

marllon ramos

Número de Mensagens : 6
Data de inscrição : 08/11/2013
Reputação : 0
Insignia 1 x 0 Insignia 2 x 0 Insignia 3 x 0

Voltar ao Topo Ir em baixo

Qualidade Re: [TUTORIAL] Cronometro com milissegundos

Mensagem por Conteúdo patrocinado Hoje à(s) 04:55


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