Hinzufügen von Filtern

Flash Player 9 und höher, Adobe AIR 1.0 und höher, erfordert Flash CS3 oder höher

Wenn das Zielobjekt eines Bewegungs-Tweens Filter enthält, werden diese Filter mit den Methoden initFilters() und addFilterPropertyArray() der Motion-Klasse hinzugefügt.

Initialisieren des Filter-Arrays

Die Filter werden mit der Methode initFilters() initialisiert. Das erste Argument ist ein Array der vollständig qualifizierten Klassennamen aller auf das Anzeigeobjekt angewendeten Filter. Dieses Array aus Filternamen wird anhand der Filterliste für das Bewegungs-Tween in Flash generiert. In Ihrer Kopie des Skripts können Sie für dieses Array alle Filter des flash.filters -Pakets hinzufügen oder entfernen. Mit dem folgenden Aufruf wird die Filterliste für das Ziel-Anzeigeobjekt initialisiert. Der Code wendet die Filter DropShadowFilter , GlowFilter und BevelFilter an und kopiert die Liste in jedes Schlüsselbild im Motion-Objekt.
__motion_Box.initFilters(["flash.filters.DropShadowFilter", "flash.filters.GlowFilter", "flash.filters.BevelFilter"], [0, 0, 0]);

Hinzufügen von Filtern

Die Methode addFilterPropertyArray() beschreibt die Eigenschaften eines initialisierten Filters mit den folgenden Argumenten:
  1. Das erste Argument identifiziert einen Filter nach der Indexposition. Die Indexposition verweist auf die Position des Filternamens im Array der Filterklassennamen, das in einem früheren Aufruf von initFilters() übergeben wurde.

  2. Beim zweiten Argument handelt es sich um die Filtereigenschaft, die für diesen Filter in jedem Schlüsselbild gespeichert werden soll.

  3. Das dritte Argument ist der Wert der angegebenen Filtereigenschaft.

Ausgehend vom vorigen initFilters() -Aufruf weisen die folgenden addFilterPropertyArray() -Aufrufe den Eigenschaften blurX und blurY von DropShadowFilter den Wert 5 zu. DropShadowFilter ist das erste Element (Indexposition 0) im Array der initialisierten Filter:
__motion_Box.addFilterPropertyArray(0, "blurX", [5]); 
__motion_Box.addFilterPropertyArray(0, "blurY", [5]);
Mit den nächsten drei Aufrufen werden den quality-, alpha- und color-Eigenschaften von GlowFilter Werte zugewiesen. Dieser Filter ist das zweite Element (Indexposition 1) im Array der initialisierten Filter:
__motion_Box.addFilterPropertyArray(1, "quality", [BitmapFilterQuality.LOW]); 
__motion_Box.addFilterPropertyArray(1, "alpha", [1.00]); 
__motion_Box.addFilterPropertyArray(1, "color", [0xff0000]);
Die nächsten vier Aufrufe weisen den Eigenschaften shadowAlpha , shadowColor , highlightAlpha und highlightColor von BevelFilter Werte zu. Dabei handelt es sich um das dritte Element (Indexposition 2) im Array der initialisierten Filter:
__motion_Box.addFilterPropertyArray(2, "shadowAlpha", [1.00]); 
__motion_Box.addFilterPropertyArray(2, "shadowColor", [0x000000]); 
__motion_Box.addFilterPropertyArray(2, "highlightAlpha", [1.00]); 
__motion_Box.addFilterPropertyArray(2, "highlightColor", [0xffffff]);

Anpassen der Farbe mit ColorMatrixFilter

Nach der Initialisierung von ColorMatrixFilter können Sie die entsprechenden AdjustColor -Eigenschaften festlegen, um Helligkeit, Kontrast, Sättigung und Farbton des getweenten Anzeigeobjekts einzustellen. Normalerweise wird der AdjustColor -Filter angewendet, wenn das Bewegungs-Tween in Flash erstellt wird; die Feinabstimmung können Sie in Ihrer Kopie des ActionScript vornehmen. Mit dem folgenden Codebeispiel werden Farbton und Sättigung des Anzeigeobjekts während der Bewegung transformiert.

__motion_Leaf_1.initFilters(["flash.filters.ColorMatrix"], [0], -1, -1); 
__motion_Leaf_1.addFilterPropertyArray(0, "adjustColorBrightness", [0], -1, -1); 
__motion_Leaf_1.addFilterPropertyArray(0, "adjustColorContrast", [0], -1, -1); 
__motion_Leaf_1.addFilterPropertyArray(0, "adjustColorSaturation", 
    [ 
        0,-0.589039,1.17808,-1.76712,-2.35616,-2.9452,-3.53424,-4.12328, 
        -4.71232,-5.30136,-5.89041, 6.47945,-7.06849,-7.65753,-8.24657, 
        -8.83561,-9.42465,-10.0137,-10.6027,-11.1918,11.7808,-12.3699, 
        -12.9589,-13.5479,-14.137,-14.726,-15.3151,-15.9041,-16.4931, 
        17.0822,-17.6712,-18.2603,-18.8493,-19.4383,-20.0274,-20.6164, 
        -21.2055,-21.7945,22.3836,-22.9726,-23.5616,-24.1507,-24.7397, 
        -25.3288,-25.9178,-26.5068,-27.0959,27.6849,-28.274,-28.863,-29.452, 
        -30.0411,-30.6301,-31.2192,-31.8082,-32.3973,32.9863,-33.5753, 
        -34.1644,-34.7534,-35.3425,-35.9315,-36.5205,-37.1096,-37.6986, 
        38.2877,-38.8767,-39.4657,-40.0548,-40.6438,-41.2329,-41.8219, 
        -42.411,-43 
    ], 
    -1, -1); 
__motion_Leaf_1.addFilterPropertyArray(0, "adjustColorHue", 
    [ 
        0,0.677418,1.35484,2.03226,2.70967,3.38709,4.06451,4.74193,5.41935, 
        6.09677,6.77419,7.45161,8.12903,8.80645,9.48387,10.1613,10.8387,11.5161, 
        12.1935,12.871,13.5484,14.2258,14.9032,15.5806,16.2581,16.9355,17.6129, 
        18.2903,18.9677,19.6452,20.3226,21,22.4286,23.8571,25.2857,26.7143,28.1429, 
        29.5714,31,32.4286,33.8571,35.2857,36.7143,38.1429,39.5714,41,42.4286,43.8571, 
        45.2857,46.7143,48.1429,49.5714,51,54,57,60,63,66,69,72,75,78,81,84,87, 
        90,93,96,99,102,105,108,111,114 
    ], 
    -1, -1);