Timer / Menu dont pause - Zeitmesser / Menü soll nicht pausieren

  • #10, by PanSThursday, 26. April 2018, 11:37 3 years ago
    Kopiert, aber natürlich alle Verweise angepasst wink

    Newbie

    65 Posts


  • #11, by afrlmeThursday, 26. April 2018, 12:09 3 years ago
    It's not what you are asking for, but I did mention that I messed around scripting an actual working 12 hour clock last night just to see if it was possible. Couldn't seem to figure out how to calculate the degrees the hands needed to go because 3 on a clock would be 0 degrees which meant figuring out the degrees & offset values & I'm not very good at math. But anyway... https://www.dropbox.com/sh/keiij2j4as8y1ko/AAAsVG2DD1lGOF3KI... (edit updated it with better graphics & 2 different ved to show using tables or pure calculation thanks to SimonS).

    Now in regards to your screenshots & information, I've just woken up not long ago & my brain isn't functioning too great at the minute so I'll read/look over it later on & see if I can wrap my head around it.

    Imperator

    7008 Posts

  • #12, by afrlmeThursday, 26. April 2018, 12:38 3 years ago
    My solution would be to use the getTime function with Lua script & reset it every 1 second & increase a value. Once it reaches 59 you would reset it back to 0 & increase the value that determines the animation that should be shown. Seeing as there isn't that many animations/images you could create them as scene objects & link the time value to each of them so that when the value changes it automatically swaps to that image. I am assuming each of those animations are a single frame?

    Imperator

    7008 Posts

  • #13, by riffmasterThursday, 26. April 2018, 17:16 3 years ago
    So, also ich hab das jetzt mal kurz getestet, nur mit einem Objekttext, der einen Timer-Wert anzeigt, aber es funktioniert so, wie ich es mir gedacht hatte.

    In der Szene habe ich die Aktion "Timer", die ich beim Beginn über eine Art Intro-Aktion starte, also nicht bei Beginn der Szene, sowie einen Wert "Timer", der mit 0 angelegt ist.

    Die Aktion macht im Prinzip nichts anderes als Deine Aktion auch:
    - Pause für 1 Sekunde
    - Timer + 1
    - Objekttext aktualisieren
    - Zurück zu Schritt 1

    Die gleiche Aktion habe ich auch im Menü, ausser dass dort der Text nicht aktualisiert wird, weil ich das Objekt da ja eh nicht sehen kann.

    Im Menü starte ich die entsprechende Aktion bei Beginn der Szene, und beende sie wieder beim Verlassen der Szene.

    Testweise habe ich den Timer mal auf 45 Sekunden hochlaufen lassen (so lange brauche ich, um in meiner Szene alle Aktionen durchzuführen, bis ich das Menü aufrufen kann, welches so eine Art Mini-Spiel ist).

    Dann bin ich ein bischen da drin geblieben, und als ich zurück in die Szene gewechselt bin war der Timer bei 88 Sekunden und hat schön weitergezählt...

    Allerdings gab es einen kleinen "Schluckauf" beim Zurückwechseln, als er sichtbar von 45 auf 88 gesprungen ist und dann ein oder zwei mal zwei Sekunden draufgepackt hat statt einer. Evtl. war die Aktion da noch nicht ganz beendet. Aber ich denke, das kann man auch noch in den Griff kriegen.

    Newbie

    26 Posts

  • #14, by riffmasterThursday, 26. April 2018, 17:21 3 years ago
    Sorry, ganz vergessen, das andere Problem ist ja der Zeitversatz.

    Ja, da Du ja nicht weißt, wann die Szene gewechselt wird müsstest Du wahrscheinlich mit wesentlich kleineren Zeitabschnitten arbeiten, fürchte ich. Sonst kann es wohl passieren, dass Du bei 50 Sekunden in das Menü wechselt, und dort dann nochmal 60 Sekunden vergehen, bevor die Uhr umgestellt wird smile

    Newbie

    26 Posts

  • #15, by afrlmeThursday, 26. April 2018, 17:43 3 years ago
    1 second delays would be best. the engine auto-pauses loops (lua too) when changing scenes until the scene has loaded, so there will be a slight delay when changing scenes, but 1 second is bugger all in the grand scheme of things.

    Imperator

    7008 Posts

  • #16, by PanSThursday, 26. April 2018, 18:00 3 years ago
    Sorry, ganz vergessen, das andere Problem ist ja der Zeitversatz.

    Ja, da Du ja nicht weißt, wann die Szene gewechselt wird müsstest Du wahrscheinlich mit wesentlich kleineren Zeitabschnitten arbeiten, fürchte ich. Sonst kann es wohl passieren, dass Du bei 50 Sekunden in das Menü wechselt, und dort dann nochmal 60 Sekunden vergehen, bevor die Uhr umgestellt wird smile

    Danke. So wie du es beschreibst, habe ich es auch gelöst und wollte es gerade schreiben. Aber wie du schon sagst nur in Sekunden-Schritten. In jeder Szene (sind ja nur 3 interaktive) läuft ein Timer, der löst läuft bei Betreten der Szene und aufhört beim Verlassen. Der addiert jede Sekunde den Wert 1 auf die Variable "time_seconds". Wenn diese den Wert 59 erreicht wird wiederum ein Event abgespielt und auf die Variable "time_schoolclock" der Wert 1 addiert. Danach wieder "times_seconds" auf 0 zurückgesetzt. Der Spaß beginnt von vor, solange bis "time_schoolclock" den Wert 10 erreicht smile

    Newbie

    65 Posts

  • #17, by PanSThursday, 26. April 2018, 18:04 3 years ago
    1 second delays would be best. the engine auto-pauses loops (lua too) when changing scenes until the scene has loaded, so there will be a slight delay when changing scenes, but 1 second is bugger all in the grand scheme of things.
    Yeah, 1 sec delay is okay so far. The player wont notice it. Thank you for the tips. At the moment the timer works fine smile

    In the post before you can see how I solved it. This timer wstarts on every scene and stops after leaving a scene. Every scene has his own timer.

    Newbie

    65 Posts

  • #18, by afrlmeThursday, 26. April 2018, 18:13 3 years ago
    Good to hear you managed to sort it out. smile

    Imperator

    7008 Posts