Zeitgesteuerter Ablauf (Timeline)

Fragen zu Grafik- & Soundproblemen und zur Spieleprogrammierung haben hier ihren Platz.
Benutzeravatar
Delle
Beiträge: 1118
Registriert: 10.05.2005 22:48

Zeitgesteuerter Ablauf (Timeline)

Beitrag von Delle »

Hallo,

im Video- und Audiobereich wird ja oft mit Timelines gearbeitet:

Bild

Ich suche auch sowas in der Art, allerdings OHNE optische Steuerung durch Balken wie da oben.

Der zeitliche Ablauf soll also direkt im PB-Code geregelt werden.

Stellt euch einfach vor, ihr macht eine Art Musikvideo mit diversen Animationen.

Diese sollen zu bestimmten Zeitpunkten im Video auftauchen, für eine bestimmte Zeit laufen, unter/über anderen Animationen laufen (Layering).

Wie geht man bei sowas vor? Alle Animationen einzeln in Prozeduren packen und .... ?

Danke,
Delle
PB 6.02 LTS + Win 11
Benutzeravatar
NicTheQuick
Ein Admin
Beiträge: 8675
Registriert: 29.08.2004 20:20
Computerausstattung: Ryzen 7 5800X, 32 GB DDR4-3200
Ubuntu 22.04.3 LTS
GeForce RTX 3080 Ti
Wohnort: Saarbrücken
Kontaktdaten:

Re: Zeitgesteuerter Ablauf (Timeline)

Beitrag von NicTheQuick »

Ich glaube das kann man so pauschal nicht beantworten.

Aber ich nehme an deine Animationen sind in irgendeiner LinkedList oder einem Array oder etwas aus beidem mit Startzeitpunkt und Endzeitpunkt gespeichert.
Jetzt brauchst du einen Programmteil, der ständig über alle Animationen in der Liste iteriert und anhand Startzeitpunk, Endzeitpunkt und absoluter Zeit (z.B ElapsedMilliseconds()) entscheidet, welcher Teil der Animation gerade abgespielt werden soll.

Wie du das mit den verschiedenen Procedures meinst, weiß ich jetzt auch nicht.
Bild
Benutzeravatar
dige
Beiträge: 1182
Registriert: 08.09.2004 08:53

Re: Zeitgesteuerter Ablauf (Timeline)

Beitrag von dige »

Du musst für den Durchlauf einer Funktion eine Zeiteinheit festlegen.
Nach dem Durchlauf prüfst du, wieviel Zeit benötigt wurde. Gings schneller
kannste die reslichen Millisekunden mit idle fressen lassen, dauerte es
länger, wird die Funktion nur "abgespeckt" aufgerufen (bspw. Zähler werden
weiter gezählt, dropped Frames) ... bis du wieder InTime bist...
"Papa, mein Wecker funktioniert nicht! Der weckert immer zu früh."
Antworten