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

Nenhum

Ver toda a lista


Compartilhe
Ver o tópico anteriorIr em baixoVer o tópico seguinte
avatar
Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

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

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

[TUTORIAL] Cronometro com milissegundos

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)
avatar
Data de inscrição : 16/08/2010
Número de Mensagens : 510
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://www.newgrounds.com/tanber

Re: [TUTORIAL] Cronometro com milissegundos

em Qua 29 Set 2010, 23:30
Hum, é complicado, mas é bem útil.
Muito legal o tuto, mas tenta dar uma explicadinha melhor.
avatar
Data de inscrição : 28/08/2010
Número de Mensagens : 599
Insígnias de JAM :

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

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

Re: [TUTORIAL] Cronometro com milissegundos

em Qua 29 Set 2010, 23:49
fica mais facil pra mim, se voce tiver alguma duvida e perguntar, rrsrs.

abraço.
avatar
Ranking : Nota D
Notas recebidas : D
Data de inscrição : 10/06/2010
Número de Mensagens : 2704
Insígnias de JAM :

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

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

Re: [TUTORIAL] Cronometro com milissegundos

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é!
avatar
Data de inscrição : 02/05/2012
Número de Mensagens : 14
Insígnias de JAM :

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

Prêmios
   : 0
   : 0
   : 0
Ver perfil do usuáriohttp://meatballflying.tumblr.com/

Re: [TUTORIAL] Cronometro com milissegundos

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
avatar
Data de inscrição : 09/07/2011
Número de Mensagens : 646
Insígnias de JAM :

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

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

Re: [TUTORIAL] Cronometro com milissegundos

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!
avatar
Data de inscrição : 08/11/2013
Número de Mensagens : 6
Insígnias de JAM :

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

Re: [TUTORIAL] Cronometro com milissegundos

em Sex 08 Nov 2013, 21:27
Mt bom tutorial!... será mt útil no meu joguinho. Laughing 
Conteúdo patrocinado

Re: [TUTORIAL] Cronometro com milissegundos

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