Text blinken

Die Realisierung eines blinkenden Textes ist zwar nicht weiter aufwendig - aber das genutzte Beispiel soll gleich mal die Nutzung von Paketen und Klassen verdeutlichen.

Stellen wir uns vor, wir wollen den folgenden Text zum Blinken bringen

<mx:Label text=”Hier mehr Infos!” color=”#ff0000″ fontWeight=”bold” />

Hierfür erstellen wir eine eigene Klasse und dies in einem Paket. Die Klasse soll einfach “Blink” heißen.
Für die Anlage eines Paketes (in dem auch mehrere Klassen enthalten sein können) wird z.B. ein Verzeichnis angelegt, welches den Namen Pakete trägt.
Die nun zu erstellende Paket-Datei benennen wir in diesem Fall einfach Blink.as - der Inhalt dieser Datei sieht dann wie folgt aus:

package Pakete{

 import mx.controls.Label; 
 import flash.utils.Timer;
 import flash.events.TimerEvent;

 public class Blink extends Label
 {
  private var blinkTimer:Timer;
  
  public function Blink():void
  {   
   this.blinkTimer = new Timer( 500 , 0 );
            this.blinkTimer.addEventListener( “timer” , toggleText );
            this.blinkTimer.start();
  }
  
  public function toggleText( event:TimerEvent ):void
  {
   if( this.visible ){   
    this.visible = false;    
   }else{   
    this.visible = true;    
   }  
  }
  
  public function get interval():uint
  {
   return this.blinkTimer.delay;
  }
  public function set interval( value:uint ):void
  {
   this.blinkTimer.delay = value;  
  }  
 }
}

Das Paket muß so benannt werden, wie auch das übergeordnete Verzeichnis benannt ist. Bei der eigentlichen Klasse wird die Klasse Label als Grundlage genommen. D.h. alle Klasseneigenschaften der Klasse Label (die durch Flash selbst zur Verfügung gestellt wird) wird bei behalten.
Durch get und set auf “interval” wird ein zusätzlicher Parameter an die Klasse übergeben (hier die Dauer des Blinkintervals). Dieser Parameter wäre auf Grund der get-Funktion auch durch die rufende Funktion auslesbar.

Die eigentliche Einbindung erfolgt dann in folgender Form:


<pakete:Blink interval=”500″ text=”Hier mehr Infos!” color=”#ff0000″ fontWeight=”bold” />

Damit “eigene” gefunden wird, ist in der allersten Struktureinheit des Scriptes noch folgender Parameter erforderlich:

…. xmlns:pakete=”Pakete.*” …

Kommentieren