Fortschreitende Zeit als Stunden, Minuten, Sekunden, Zehntel und Hundertstel anzeigen

  • GM 8

Diese Seite verwendet Cookies. Durch die Nutzung unserer Seite erklären Sie sich damit einverstanden, dass wir Cookies setzen. Weitere Informationen

  • Fortschreitende Zeit als Stunden, Minuten, Sekunden, Zehntel und Hundertstel anzeigen

    Ich möchte die gespielte Zeit sehr genau erfassen. Mit Sekunden und Minuten habe ich schon mal gemacht, dass war recht einfach indem ich den Zähler über Alarm pro Sekunde einmal erhöht habe (Roomspeed). Stunde ist dann auch nicht schwer, aber ich weiß nicht, wie ich Zehntel und Hundertstel in Echtzeit hin bekomme.

    Das Ergebnis soll wie in einem Rennspiel sein, die Zeit soll also laufend und richtig angezeigt werden. Habe die Forensuche benutzt aber leider nichts gefunden, was mir wirklich weiter hilft. :wacko:
  • Hübsch, ich dachte die DLL könne nur die aktuelle Uhrzeit anzeigen. Habe es jetzt so eingebaut, dass Stunden, Minuten, Sekunden etc. angezeigt werden. Die Sekunde auf drei Stellen hinter dem Komma. Das sieht ziemlich cool aus! ;)

    Ich habe nur eine kleine Ungenauigkeit drin. Da ich die 60 Sekunden nicht genau erwische, frage ich ab, ob der Wert größer als 60 ist.

    GML-Quellcode

    1. if global.sekunden > 60{
    2. global.minuten+=1;
    3. external_call(global.start_messung,0,0);
    4. }


    Das Problem ist, dass ich hier eine Ungenauigkeit von bis zu einer Dreißigstel Sekunde haben kann. Das ist nicht Spielentscheidend, stört mich aber dennoch. Gibt es dafür eine bessere Lösung?
  • Wow, ganz ohne DLL. Super! Da dein Code nicht ganz funktioniert hat und ich noch die Anzeige etwas optimiert habe, hier meine Version:

    Create:

    GML-Quellcode

    1. phase = 0;
    2. minutes = 0;
    3. minuten = 0;
    4. seconds = 0;
    5. sekunden = 0;
    6. milli = 0;
    7. dif = current_time;


    Step:

    GML-Quellcode

    1. milli = current_time-dif;
    2. if(milli >= 1000) {seconds += 1; milli = 0; dif = current_time;}
    3. if(seconds = 60) {minutes += 1; seconds = 0;}
    4. if seconds < 10{
    5. sekunden = "0" + string(seconds)
    6. }else{
    7. sekunden = seconds
    8. }
    9. if minutes < 10{
    10. minuten = "0" + string(minutes)
    11. }else{
    12. minuten = minutes
    13. }
    Alles anzeigen


    Draw:

    GML-Quellcode

    1. ''+string(phase)+':'+string(minuten)+':'+string(sekunden)+':'+string(milli)
  • Benutzer online 2

    2 Besucher