Startseite    JDSolutions Fading mit Flash Actionscript  


Dieses Tutorial ist aufgrund eines Postings auf http://www.flashhilfe.de entstanden. Es wird das gesamte Vorgehen zum Erstellen der Animation beschrieben. Eine fertige fla-Datei wird jedoch nicht zum Download zur Verfügung gestellt.
Bibliothek
Als erstes werden 7 Gif-Bilder in die Bibliothek importiert. Gif-Bilder wurden gewählt, da sie sich am einfachsten mit einem transparenten Hintergrund erzeugen lassen und dies für ein schöneres Faden der Bilder notwendig ist. Bei den Bildern handelt es sich um dromedar.gif, fledermaus.gif, tarsier.gif, opossum.gif, schlange.gif, seestern.gif und pelikan.gif. Als nächstes werden 7 Symbole angelegt, die diese Bilder enthalten. Die Symbolnamen sind sdromedar, sfledermaus, starsier, sopossum, sschlange, sseestern und spelikan. Die Symbolnamen beginnen alle mit dem Buchstaben s. Dies und die weitere Beschreibung sollen zusätzlich eine sinnvolle Namensgebung in Flash vorstellen.

Als nächstes werden 7 Ebenen erstellt mit den Namen dromedar, fledermaus, tarsier, opossum, schlange, seestern und pelikan. Die 7 Symbole werden nun aus der Bibliothek in die entsprechenden Ebenen gezogen. Dabei werden für die einzelnen Symbole die Instanznamen isdromedar, isfledermaus, istarsier, isopossum, isschlange, isseestern und ispelikan vergeben. Durch das Voranstellen des Buchstabens 'i' vor alle Instanznamen lassen sich die späteren Actionscripts wesentlich leichter lesen und es entstehen auch keine Verwechselungen mit den Symbolnamen.

Um die einzelnen Bilder ein- und auszufaden wird noch ein Button benötigt. Dazu wird ein einziger Master-Button erstellt welcher den Namen buMaster erhält. Von diesem Masterbutton werden 7 Instanzen in das untere Viertel der Bühne gezogen. Dabei ist es nur wichtig, das der Button linksaussen und der Button rechtsaussen den richtigen Abstand vom Rand besitzen.






Danach werden alle Buttons auf der Bühne ausgewählt:

und mit dem entsprechenden Schalter im Align-Tool werden gleiche Abstände und gleiche Höhe eingestellt.

Dabei ist die Schaltfläche 'To Stage' im Align-Tool zu deaktivieren.


Die Instanznamen der Buttons sollten wie folgt gewählt werden: ibudromedar, ibufledermaus, ibutarsier, ibuopossum, ibuschlange, ibuseestern und ibupelikan. Durch Voranstellen der Buchstaben 'ibu' sieht man im Actionscript sofort, dass es sich um eine Instanz eines Buttons handelt.

Gewöhnt man sich die bisher vorgestellte Namensgebung an, so ist es viel leichter zu einem späteren Zeitpunkt noch mal ein Actionscript zu bearbeiten, da man nicht lange überlegen muß um welche Art von Variable es sich handelt.

Nun zum eigentlichen Actionsscript. Dazu wird eine neue Ebene 'mc_as' angelegt die folgendes Actionsscript enthält:

       MovieClip.prototype.fade = function(a, mc, g)
       {
         this[mc].action = a;
         this[mc].speed = g;
         this[mc].onEnterFrame = function()
         {
           //-- fade in
           if(this.action == true && this._alpha <= 100)
           {
              this._alpha += this.speed;
           }
           //-- fade out
           if (this.action == false && this._alpha >= 0)
           {
              this._alpha -= this.speed;
           }
        };
       };
	   
Dabei handelt es sich um ein Movieclip Prototyp, der später für das ein- bzw. ausfaden der auf der Bühne liegenden Instanzen sorgt. Über die Variable 'a' auf der Parameterliste wird gesteuert, ob sich die Instanz ein- oder ausfaden soll. Ist der Wert 'true' wird die Instanz eingefadet, ist der Wert 'false' wird die Instanz ausgefadet. Die Variable 'g' bestimmt die Geschwindigkeit mit der das Fading abläuft. Je höher der Wert, desto schneller läuft das Fading ab.

Nun geht es noch darum die Anfangsbedingungen festzulegen, denn bis jetzt sind beim Starten des Clips erst einmal alle Bilder sichtbar. Um dies zu vermeiden wird eine neue Ebene 'AS' angelegt die folgendes Actionsscript enthält:
       //-- Alpha Werte für die MCs einstellen
       //-- Zu Begin ist das Dromedar sichtbar
       isdromedar._alpha=100;
       isfledermaus._alpha=0;
       ismungo._alpha=0;
       isopossum._alpha=0;
       isseestern._alpha=0;
       isschlange._alpha=0;
       ispelikan._alpha=0;

       //-- Name des aktuell angezeigten MCs
       //-- Bei Klick auf eine Schaltfläche
       //-- wird der in dieser Variablen
       //-- gespeicherte MC ausgeblendet.
       mc_akt="isdromedar";

       //-- Einblendgeschwindigkeit
       fspeed_ein=6;

       //-- Ausblendgeschwindigkeit
       fspeed_aus=8;
	   
Hier werden alle Bilder bis auf das Dromedar Bild mit Hilfe des Alphawertes unsichtbar geschaltet. Um sich zu merken, welches Bild gerade sichtbar ist, wird der Name der Instanz in der Variablen 'mc_akt' gespeichert. Dies ist zu Begin 'isdromedar'. Um für das Ein- und Ausblenden der Bilder unterschiedliche Geschwindigkeiten verwenden zu können, werden noch zwei Variablen 'fspeed_ein' und 'fspeed_aus' definiert und mit den gewünschten Geschwindigkeitswerten belegt.

Nun fehlen nur noch die Actionscripts auf den Buttons:(hier am Beispiel des Buttons für das Dromedar)
       on(release)
       {
         fade(false, mc_akt, fspeed_aus);		
         mc_akt = "isdromedar";
         fade(true, mc_akt, fspeed_ein);		  
       }
	   
Beim Anklicken eines Buttons soll zunächst das aktuell eingeblendete Bild ausgeblendet werden. Durch den Aufruf der Funktion: fade(false, mc_akt, fspeed_aus) wird die in der Variablen 'mc_akt' gespeicherte Instanz mit der Geschindigkeit 'fspeed_aus' ausgeblendet.

Nun muß als nächstes die zum Button gehörige Instanz eingeblendet werden. Da es notwendig ist, für weitere Klicks auf andere Buttons sich auch den neuen Namen zu merken wird dieser als erstes der Variablen mc_akt zugewiesen und dann die Funktion: fade(true, mc_akt, fspeed_ein) aufgerufen. Durch diesen Aufbau der on(release)-Funktion sehen alle anderen Button-Funktionen gleich (einfach) aus. Sie unterscheiden sich nur durch das Merken des zugehörigen Instanznamen. Für den Pelikan-Button also:
       on(release)
       {
         fade(false, mc_akt, fspeed_aus);		
         mc_akt = "ispelikan";
         fade(true, mc_akt, fspeed_ein);		  
       }
	   
Selbstverständlich lassen sich den Buttons auch noch Geräusche zuordnen, die beim Einblenden der jeweiligen Tiere abgespielt werden, bzw. beim Ausblenden gestoppt werden.
Eine Erweiterung dieses Beispiels wäre, die Bilder dynamisch zu laden und sich mit zwei Buttons durch eine Liste von Bildern durchzuklicken.



Copyright © 1998 - 2004 und Design by www.jdsolutions.de