Inspiriert durch einen Beitrag von Lee Brimelow über "Dynamic Frame Rates" in ActionScript 3 habe ich einen kleinen Versuch gestartet, wie man damit temporale Mikrointeraktivität (vgl. Kapitel 3.3 "Mikrointeraktivät") umsetzen könnte. Im Beispiel (Link siehe unten) kann die Geschwindigkeit des Videos über einen Schieberegler gesteuert werden. So kann das Video entweder verlangsamt oder beschleunigt werden.

Verwendet wird die Eigenschaft this.stage.frameRate, mit der man in ActionScript 3 die Framerate einer SWF-Datei ändern kann.

Actionscript:
  1. this.stage.frameRate = 15;

Vorspulen und Zeitlupe

Allerdings funktioniert dies nur mit eingebetteten Videos (vgl. Kapitel 13.4 "Wege zur Integration von Videos"), da dieses direkt von der Framerate der SWF-Datei abhängt. Bei einem eingebetteten Video mit Ton hat es nicht geklappt. Der komplette Code der Anwendung lautet:

Actionscript:
  1. // drawCircle
  2. var circle:Sprite = new Sprite();
  3. circle.x = 50;
  4. circle.y = 50;
  5. circle.graphics.beginFill(0xFFFFFF);
  6. circle.graphics.drawCircle(0, 0, 10);
  7.  
  8. addChild(circle);
  9.  
  10. // init
  11. this.stage.frameRate = Math.round ((circle.x - 25) / 5);
  12. fps.text = this.stage.frameRate + " fps";
  13.  
  14. // MouseEvents
  15. circle.addEventListener(MouseEvent.MOUSE_DOWN, mouseDown);
  16. circle.addEventListener(MouseEvent.MOUSE_MOVE, mouseMover);
  17. circle.addEventListener(MouseEvent.MOUSE_OUT, mouseReleased);
  18. circle.addEventListener(MouseEvent.MOUSE_UP, mouseReleased);
  19.  
  20. // Functions
  21. function mouseDown(event:MouseEvent):void {
  22. circle.startDrag(false, new Rectangle(50, 50, 300, 0));
  23. }
  24.  
  25. function mouseMover(event:MouseEvent):void {
  26.     this.stage.frameRate = Math.round ((circle.x - 25) / 5);
  27.     fps.text = this.stage.frameRate + " fps";
  28. }
  29.  
  30. function mouseReleased(event:MouseEvent):void {
  31. circle.stopDrag();
  32.  
  33. }

Link: Beispiel anschauen
Link: Download .fla als ZIP-Archiv
Link: Lee Brimelow "Dynamic Framerates"