Kategorien
Webdesign

Flash: Cookies zur Videosteuerung

Intelligente Filme können den Nutzer genau an die Stelle führen, wo er den Film beim letzten Besuch verlassen hat. Eine solche Technik ist einfach zu implementieren und bringt dem Nutzer eine erhebliche Zeitersparnis. Sie wird vor allem bei langen Filmen relevant,…

von Frank Puscher

Intelligente Filme können den Nutzer genau an die Stelle führen, wo er den Film beim letzten Besuch verlassen hat. Eine solche Technik ist einfach zu implementieren und bringt dem Nutzer eine erhebliche Zeitersparnis. Sie wird vor allem bei langen Filmen relevant, etwa bei Videos oder bei Online-Schulungen.

Wenn Local Shared Objects dazu in der Lage sind, zu erkennen, wann ein Nutzer einen Film bereits gesehen hat oder wie oft er eine Website besuchte, dann sollten sie auch dazu fähig sein, dem User die überflüssige Wiederholung von Inhalten zu ersparen, der er längst gesehen hat. Sie verändern einfach den Wert der Variablen im gesetzten Cookie und können somit erkennen, bis wohin der User den Film gesehen hat.

Eine solche Technik ist einfach zu implementieren und bringt dem Nutzer eine erhebliche Zeitersparnis. Sie wird vor allem bei langen Filmen relevant, etwa bei Videos oder bei Online-Schulungen. Statt dem Nutzer die Inhalte stets von Beginn an vorzuführen, markieren Sie die Ausstiegsstelle und kehren beim Neustart dorthin zurück. Der erweiterte Einsatz dieser Lösung führt zum Beispiel zu einem Bookmarking-Tool, in dem der Nutzer selbst bestimmte Markierungen setzt und diese benennt. Auch persönliche Einstellungen bei einem Online-Konfigurator lassen sich mit so einem Werkzeug vor Verlust schützen.

Screenshot
Beim Neustart erkennt der Film genau, welche Zahlen bereits gesehen wurden

Wir simulieren ihren Einsatz am Beispiel eines Videos. Das Video muss in den Flash-Film eingebettet sein. Wer separate FLV-Dateien verwenden möchte, muss eine erweiterte Logik realisieren, der wir uns in einem späteren Workshop widmen.

Unser Beispiel zeigt kein echtes Video, sondern nur einen numerischen Countdown. Mit seiner Hilfe können wir die Wirkung der Programmierung sehr genau erkennen.

Starten Sie einen neuen Film und entwerfen Sie eine lange Animation über 250 Frames. Sorgen Sie dafür, dass an bestimmten Stellen markante Szenenwechsel stattfinden. In unserem Fall wird alle 50 Frames die Zahl auf dem Bildschirm ausgetauscht. Außerdem sorgt ein prägnanter Pieps-Ton für ein zusätzliches, akustisches Signal. Zusätzlich haben wir einen kleinen weißen Farbblitz zum Motivwechsel erzeugt. Der besteht aus einem vollflächigen weißen Rechteck, dass unmittelbar zum Piepston für einen einzigen Frame eingeblendet wird.

Screenshot
An markanten Stellen verändert der Film den Wert der Cookie-Variablen

Nachdem die Animation vollendet wurde, ist der Rest nur noch ein Wenig Programmierung. Im ersten Frame steht folgendes Skript:

 var kapitel:Number = 1;
local_data = SharedObject.getLocal("kapitel");
if(local_data.data.speicher>0){
gotoAndPlay(local_data.data.speicher);
}else{
play();
}
local_data.data.speicher = kapitel;
local_data.flush();

Die Programmierung ist sehr ähnlich, wie im letzten Beispiel mit dem Besuchszähler. Der entscheidende Unterschied befindet sich in Zeile vier. Der Wert der Variablen in unserem Cookie-Speicher wird als Sprungziel für einen Befehl gotoAndPlay verwendet. Das gilt freilich nur, wenn er größer als „0“ ist.

Jeweils zum Motivwechsel, also in den Frames 50, 100, 150 und 200 steht dann folgendes Skript:

      local_data = SharedObject.getLocal("kapitel");
local_data.data.speicher = 50;
local_data.flush();

Wobei der Wert der Variablen in der zweiten Zeile der Nummer des Frames entspricht. Würde man den Befehl _root._currentFrame an dieser Stelle benutzen, ließe sich mit einfachen Mitteln sogar eine Frame-genaue Steuerung in jedem Einzelbild realisieren. Das belastet den Client-Rechner allerdings erheblich und ist in diesem Fall inhaltlich überflüssig.

In Frame 250 steht nur noch ein stop();. Damit dieser Befehl auch wirkt, wenn der Film bereits komplett gesehen wurde, setzen wir die Sprungstelle bereits in Frame 249:

      local_data = SharedObject.getLocal("kapitel");
local_data.data.speicher = 249;
local_data.flush();

So. An dieser Stelle ist der Film zu Ende. Wir müssen dem Nutzer also weitere Handlungsmöglichkeiten bieten, etwa den Neustart der Animation bei gleichzeitigem Löschen der Sprungmarkierung:

      on (release) {
local_data.clear();
gotoAndPlay(1);
}

Die Programmierung sitzt auf einem Button im unteren Teil des Films.

Testen Sie den Film. Wechseln Sie während der Laufzeit auf eine andere Website und kehren Sie dann wider zurück. Der Film startet an der letzten Markierung, bevor Sie ausgestiegen sind.

Material zum Artikel:

Erstveröffentlichung 03.09 .2007

Von Frank Puscher

Autor der Fachbücher "Leitfaden Web-Usability", "Flash MX-Das Kochbuch" und "Die Tricks der Internet Künstler". Frank Puscher ist nicht nur ein angesehener Autor, der für zahlreiche Fachzeitschriften tätig ist, er ist auch als Schulungsleiter und Berater erfolgreich.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.