Hilfe bei Sicherung in .ini

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

  • Hilfe bei Sicherung in .ini

    Hallo Zusammen,
    ich arbeite aktuell an einem Spiel bei dem es um Schnelligkeit geht und darum wieviele Versuche man braucht.

    Am Ende des Spiels soll es eine Liste geben in welcher man sieht wieviele Versuche und wie lange man für das jeweilige Level gebraucht hat.
    Dafür wird nach jedem alles in eine Datei geschrieben.

    Leider bekomme ich das aktuell nur mit den Versuchen hin.
    Ich habe wirklich überhaupt keine Idee wie ich die Zeit absichern soll.

    Ich habe bereits einen Counter, welcher in diesem Format, HH:MM:SS:MS, die Zeit hochzählt. Wie bekomme ich es hin, dass sobald der Spieler
    mit einem Objekt kollidiert diese Zeit automatisch direkt mit in die Datei geschrieben wird, so dass der Counter dann direkt wieder im nächsten Room zurückgesetzt werden kann?

    Welche Codes von mir wären für euch wichtig um mir helfen zu können?


    Viele Grüße
    Marc
  • Schau dir einmal current_time an. Du schreibst diese in eine Variable, sobald das Zählen beginnt und ermittelst sie wieder, sobald das Ereignis es erfordert. Die Differenz ist Deine Zeit. Diese kannst Du kann umrechnen. Um damit in einen anderen Raum zu gehen, brauchst Du entweder eine globale Variable oder ein persistentes Objekt. Letzteres ist für eine globale Kontrolle von Vorteil.

    Wenn Du den Wert in eine INI schreiben willst, schreib einfach die eine Zahl (also die Differenz der beiden Zeiten) rein und rechne sie nach dem einlesen wieder um, damit es so angezeigt wird, wie Du es möchtest.

    Edit: Hier noch ein Beispiel zum Thema current_time.
    Byte GameMaker Magazin - Online Zeitschrift für Spieleentwickler
  • the_black_wall schrieb:

    Schau dir einmal current_time an. Du schreibst diese in eine Variable, sobald das Zählen beginnt und ermittelst sie wieder, sobald das Ereignis es erfordert. Die Differenz ist Deine Zeit. Diese kannst Du kann umrechnen. Um damit in einen anderen Raum zu gehen, brauchst Du entweder eine globale Variable oder ein persistentes Objekt. Letzteres ist für eine globale Kontrolle von Vorteil.

    Wenn Du den Wert in eine INI schreiben willst, schreib einfach die eine Zahl (also die Differenz der beiden Zeiten) rein und rechne sie nach dem einlesen wieder um, damit es so angezeigt wird, wie Du es möchtest.

    Edit: Hier noch ein Beispiel zum Thema current_time.


    Hallo,
    also soll ich den Counter nochmal neu machen?

    Weil ich habe ja bereits einen ich muss ihn nur irgendwie vor seinem Reset abgreifen.
    Da gibt es keine direkte Möglichkeit?

    Viele Grüße
    Marc
  • Denk aber daran, das jedes Gerät unterschiedlich Leistungsstark ist.

    Wenn zum Beispiel Gerät A mit 25FPS läuft, dann dauert dort alles länger.
    Wenn Gerät B das Spiel aber mit den standard 60FPS läuft, dann ist B viel schneller am "Ziel".

    Außerdem wird Gerät A das Level manchmal mit 26FPS (Durchschnitt) und manchmal mit 24FPS (Durchschnitt) laufen.

    Versuch am Besten "delta_time" mit zu berücksichtigen.
  • Besser wäre es auch alles erst in einer Liste bzw. einem Array abzuspeichern statt es nach jedem Zählen abzuspeichern, da dies immer etwas Zeit zieht.

    PS: Willkommen im Forum ;)
    Ein Bug ist mehr als nur ein Bug, es ist ein... Käfer!
    Egal, wie gut du eine Mauer baust, sie fällt um.... der klügere gibt nach :D

    Willst du mit mir auf Discord Chatten/Quatschen?
    Meine Husi's Tutorial Reihe