Stoppuhr mit 2 oder 3 Kommastellen

  • GM 8

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

  • Stoppuhr mit 2 oder 3 Kommastellen

    Hallo

    Ich möchte in meinem Spiel eine Stoppuhr einbauen,die einem anzeigt wie lange man braucht um das Level zu schaffen.
    Nun zum Problem:

    Da ja 40 Steps 1er sekunde entsprechen,könnte man höchstens 0.025 pro Step hochzählen.
    Ih möchte es aber genauer haben und in 0.01er schritten zählen,oder wenn möglich in 0.001er schritte,also 3 stellen hinter dem komma.

    Beispiel: Bei den olympischen spielen werden ja in der ecke immer die zeit angeizeigt.
    Die muss in 0.001 schritten hochgehn(bei mir) und soll sobald die variable ziel=true ist die zeit die man gebraucht hatte in der variable "zeit" speichern.

    Wie macht man das?

    mfg,domi

    Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von derkimba ()

  • Beim Standard-Room Speed entsprechen 30 Steps einer Sekunde. Aber wieso solltest du nicht weniger hochzählen können? Du musst im Step-Event eine Zählervariable einfach um 1/30 erhöhen. Oder um es flexibler zu haben 1/room_speed.

    Ich denke ich habe es falsch verstanden. Am einfachsten ist es, du speicherst dir die Startzeit in eine Variable.

    GML-Quellcode

    1. start = current_time


    Dann kannst einfach current_time - start anzeigen lassen und erhältst die vergangene Zeit in Millisekunden.

    © 2008 by Teamgrill Productions
  • Ok,schonmal vielen Dank :)

    Habe das ganze ausprobiert und es kam die zahl raus.Da ich aber einen Punkt oder Komma dazwischen haben wollte,habe ich die zahl durch 1000 geteilt.

    Problem: es sind nur 2 Kommastellen.Und ich weiß nicht obs richtig ist,aber es kommt mir ein wenig zu schnell vor 8|

    Habs mal in den Anhang,hoffe mir kann jemand erklären wie ich da 3 Kommastellen hinbekomme :)
    Dateien
    • stoppuhr.rar

      (9,15 kB, 110 mal heruntergeladen, zuletzt: )
  • Ja, da es die Zeit in Millisekunden ist, musst du durch 1000 teilen, um die Sekunden zu bekommen. Mit der Funktion string_format kannst du eine Zahl nach deinen Vorstellungen in einen String umwandeln, also Anzahl der Stellen insgesamt sowie Anzahl der Kommastellen festlegen. Verwende einfach draw_text(x,y,string_format(draw_zeit,0,3)).

    EDIT: Die Zeit stimmt zu 100% im Gegensatz zu einer Lösung über Alarme, da man dabei auch die FPS berücksichtigen muss, was hier wegfällt.

    © 2008 by Teamgrill Productions
  • Perfekt :thumbsup:

    Etz passts,danke.

    EDIT: Hab mal ein kleines Minispiel mit schlechter Grafik draus gemacht^^
    Steuerung: ganz schnell ENTER drücken ;)
    Download

    Wer schafft es unter 5 Sekunden? (Mein rec: 5.047) xD

    Dieser Beitrag wurde bereits 4 mal editiert, zuletzt von derkimba ()

  • Benutzer online 2

    2 Besucher

  • Tags