Differenz zwischen 2 Zeiten

  • GM 8

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

  • Differenz zwischen 2 Zeiten

    Hi



    ich will in meinem Spiel anzeigen seit wann schon gespiel wird.

    Dazu hab ich am anfang mit date_current_time() das datum festgestellt.

    Dann soll in einem draw event die Differenz richtig angezeigt werden.

    dabei ist mir aufgefallen das eine bestimmte funktion fehlt, namlich sowas wie date_time_span(date1,date2);

    Es gibt nur funktionen wie date_hour_span(date1,date2);

    diese geben die differenzen aber einzeln an.

    Somit kann ich nicht per date_time_string(date) einen string draus machen um das Datum anzuzeigen.



    Gibt es irgendeine Möglichkeit das zu machen oder muss ich unbedingt die differenzen separat bestimmen und mit der sehr langsamen Funktion string() Strings daraus machen um sie nacheinander mit ":" dazwischen anzuzeigen?



    Bin dankbar für jede Antwort :)

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • Arbeite doch mit current_time.

    GML-Quellcode

    1. start_time=current_time;

    GML-Quellcode

    1. draw_text(0,0,"Du hast schon: "+string((current_time-start_time)/1000)+ "Sekunden gespielt!");

    Sekunden=(current_time-start_time)/1000
    Minuten=(current_time-start_time)/1000/60
    Stunden=(current_time-start_time)/1000/60/60
    Tage=(current_time-start_time)/1000/60/60/24
    Wochen=(current_time-start_time)/1000/60/60/24/7
    Und warum sollte string() langsam sein?
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • string() ist extrem langsam im vergleich zu vielen anderen funktionen xD, prüfs nach wenn du willst.

    Das mit current time ist aber keine schlechte idee, damit ist es einfacher.

    Mit string_width() lässt sich string() vermeiden, (ist 8 mal schneller).

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)
  • string() ist extrem langsam im vergleich zu vielen anderen funktionen xD, prüfs nach wenn du willst.
    execute_file und execute_string ist langsam.
    Mit string_width() lässt sich string() vermeiden, (ist 8 mal schneller).
    Du weist schon das string_width() die Breite eines Strings in Pixel wiedergibt?
    wupto.net/ Nicht meine Seite!
    We love Koalas.

    GM-D-Spam-o-Meter: 32%
  • ja, ok, es ist aber trotzdem etwa 50-60 mal langsamer als das zuordnen einer einer gleichlangen Zahl einer Variabel.

    Bei der Sache mit string_width meinet ich das man sich die tatsache zunutzen machen kann das man wenn man nur die Zahl anstelle eines strings als argument für draw_text(x,y,string), die zahl trotzdem korrekt gedrawt wird.



    Naja, hat sich jetzt erledigt :)

    Danke für die Hilfe :)



    EDIT:

    hier die lösung die ich verwendet habe, zwar mit 3 mal string() geht aber ganz gut:

    GML-Quellcode

    1. var cur, hh, mm, ss;
    2. cur = current_time-start_time;
    3. hh = floor(cur/1000/60/60);
    4. mm = floor(cur/1000/60 -hh*60);
    5. ss = floor(cur/1000 -mm*60 -hh*60*60);
    6. draw_text(xc_origin+_6_offset-_8_offset,yc_back+back_height-133,
    7. "Elapsed time: "+string(hh)+":"+string(mm)+":"+string(ss)
    8. );

    Willst du auf diese Drachen und -eier klicken?
    Sie werden sich freuen ;)

    Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von DragonGamer ()

  • Benutzer online 1

    1 Besucher