Hallo,
im Video- und Audiobereich wird ja oft mit Timelines gearbeitet:
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
Zeitgesteuerter Ablauf (Timeline)
Zeitgesteuerter Ablauf (Timeline)
PB 6.02 LTS + Win 11
- 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)
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.
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.
Re: Zeitgesteuerter Ablauf (Timeline)
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...
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."