Ablaufende Zeit anzeigen

  • Ablaufende Zeit anzeigen

    Moinsen,
    ich arbiete gerade an einem Hockey Game für 2 Player. (Multiplayer)
    Nun möchte ich in einem Modus des Spiel, dass die Zeit beim Spiel anfang auf 5 Minuten gestellt wird. Nun soll jede Sekunde eine Sekunde davon abgezogen werden. Wie mache ich dies nun?
    5 Minuten sind bei meinem room_speed von 30 = 3000 steps(?)
    Nun soll man die Zeit aber auch permanent im Spiel sehen können.

    Mein genaues Problem ist, dass ich nicht weiß, was ich machen muss, dass bei einem Step 1 Sekunde, bzw. 30 (von den 3000) abgezogen werden.


    Sorry für meine genialen Erklärungskünste ^^
    :) :( ;) :P 8) :D ;( :rolleyes: :huh: :S X( 8| ?( :| :thumbdown: :thumbsup: :thumbup: 8o :pinch: :sleeping: :wacko: :whistling: :evil: ^^ :heul: :para:
  • Vielen DAnk für deine HIlfe, ich hab das jetzt auf jeden Fall mehr verstanden als vorher.
    Aber weil mir grad zu warm ist und mich nicht konzentrieren kann/will, probiere ich es später mal aus, lasse aber den Thread noch ungelöst, für den Fall weiterer Fragen meinerseits.

    thx
    :) :( ;) :P 8) :D ;( :rolleyes: :huh: :S X( 8| ?( :| :thumbdown: :thumbsup: :thumbup: 8o :pinch: :sleeping: :wacko: :whistling: :evil: ^^ :heul: :para:
  • Wie kommst du auf 3000 steps ?(
    Bei 30 fps sind es 1800 pro Minute.

    Ich würde aber erstmal auf 60 fps umsteigen dann sieht dein Spiel viel flüssiger aus. Dazu gibts einen Artikel von EricDB.

    Für die Zeitanzeige brauchst du erstmal Minuten, Sekunden und einen Timer:

    GML-Quellcode

    1. m=5
    2. s=0
    3. timer=room_speed


    Dann ziehst du pro Sekunde 1s ab und bei 0s eine Minute:

    GML-Quellcode

    1. if timer>0 timer-=1
    2. if timer=0
    3. {
    4. if s>0 s-=1
    5. else if m>0 {m-=1;s=59}
    6. timer=room_speed
    7. }


    dann kannst du das Zeug anzeigen lassen:

    GML-Quellcode

    1. draw_set_halign(fa_center)
    2. draw_set_valign(fa_center)
    3. if m<10 draw_text(x,y,"0" + string(m)) else draw_text(x,y,string(m))
    4. if timer> room_speed/2 draw_text(x+20,y,":")
    5. if s<10 draw_text(x+40,y,"0" + string(s)) else draw_text(x+40,y,string(s))
  • ich glaube, da nehme ich doch lieber das mit den Alarmen, ich bin nicht der GML Freak und werde es leider wohl nie sein.

    Ich denke, dass Example hat dann doch alle Fragen auf einmal behoben.
    Trotzdem Danke, BeatleGorge

    edIT: Sorry, ich hab bei meiner Rechnung ausversehen was falsches miteinander multipliziert....Ist natürlich richtig mit den 1800 fps bei room_speed 30. (30 * 60 * 5) ^^

    Das heißt, 5 Minuten wären dann...tada, Mathe-Genie am Werk,.....9000!

    So, alles richtig ;)
    :) :( ;) :P 8) :D ;( :rolleyes: :huh: :S X( 8| ?( :| :thumbdown: :thumbsup: :thumbup: 8o :pinch: :sleeping: :wacko: :whistling: :evil: ^^ :heul: :para:

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

  • Benutzer online 1

    1 Besucher