Im ersten Beispiel möchte ich kurz zeigen, wie man mit der Date-Klasse in ActionScript 3 umgeht. Ein Date-Objekt kann ein Datum und eine Uhrzeit beinhalten. Im Anschluss folgt ein Beispiel, wie man auf einfache Weise die aktuelle Zeitposition eines Videos im Format Minuten/Sekunden (z.B. 1:30) realisieren kann (Beispiel anschauen).
Beispiel 1: Date-Objekte
Hier zunächst das Ergebnis-SWF bzw. die vier Date-Objekte, die danach erklärt werden:
Wird ein Objekt der Date-Klasse mit einem leeren Konstruktor erstellt, enthält er das (zur Laufzeit) aktuelle Datum und die aktuelle Uhrzeit (vgl. erste Zeile im SWF).
Des Weiteren kann man dem Konstruktor das Jahr, den Monat und dem Tag mitgeben. Dabei beginnen die Monate nicht mit Eins, sondern Null (=Januar). Die Tage sind ab Eins durchnummeriert (1-31).
Als nächsten Schritt kann man auch eine Zeit ergänzen, in Stunden, Minuten, Sekunden. Im Beispiel ist dies genau 10:00 Uhr
Interessant wird es nun, wenn man Werte angibt, die außerhalb den in der Dokumentation angegebenen Bereichen liegen. Für second schreibt die Doku beispielsweise: second:Number (default = 0) — An integer from 0 to 59. Wählt man ein höhere Zahl, z.B. 100, wird diese automatisch richtig umgerechnet. Das Date-Objekt enthält also 1 Minute 40 Sekunden.
-
span style="color: #808080; font-style: italic;">// 100 Sekunden setzen
-
"dt4.getMinutes: "
Über die Methoden wie getMinutes oder getSeconds lassen sich die einzelnen Bestandteile einer Zeitangabe auslesen.
Undokumentierte Funktionen in der Date-Klasse
Darron Schall weist in seinem Blog auf diese undokumentierten Funktionen hin. Auch negative Wert sind möglich. Beispiel new Date( 2006, 0, 1, -1 ) ist eine Stunde früher als der erste Januar, also der 31.12.05 um 23:00. Man kann also nach Belieben mit den Date-Objekten "rechnen".
Beispiel 2: Zeitanzeige für eine .flv-Datei
Spielt man ein Video über NetConnection/NetStream ab, wird die aktuelle Zeit des Videos (ns.time) ausschließlich in Sekunden zurückgegeben. Ein Video, das 1:20 dauert, durchläuft also 1 bis 80.
Nimmt man also ns.time und packt den Wert in ein Date-Objekt, rechnet dieses die Sekunden automatisch in die Form Stunden/Minuten/Sekunden um. Nun kann man mit getMinutes() und getSeconds() die Zeit des Videos auslesen.
-
span style="color: #ff0000;">":"
Damit bei einer einstelligen Sekundenzahl 1:05 statt 1:5 angezeigt wird, baut man noch eine Fallunterscheidung ein.
-
span style="color: #ff0000;">":0"":"
Quellcode zu Beispiel 2
Hier noch der komplette Quellcode zum Beispiel:
-
// ::: Video :::
-
"gv.flv");
-
-
// ::: Timer :::
-
"timer"// ::: Date :::
-
":0"":"// ::: Buttons :::
-
Link: Beispiel anschauen
Link: Darron Schall (Beitrag vom 28.12.06)
Link: Date-Klasse (ActionScript 3 Reference)
Schreibe einen Kommentar