Loading:


MovieClip beginGradientFill [AS 2]

Klasa: MovieClip

Kompatybilność: ActionScript 1.0, Flash 3+

 

public beginGradientFill(typWypelnienia:String, koloys:Array, alphas:Array, wspolczynniki:Array, matrix:Object, [metodaRozszerzania:String], [metodaInterpolacji:String], [punktWskaznika:Number]) : Voi

 

Określa początek wypełnienia gradientem nowej ścieżki rysowanej.

 

jeśli pierwszy parametr jest nie zdefiniowany, lub nie ma żadnego prametru, wtedy wypełnienie nie następuje. Jeśli otwarta ścieźka istnieje (jeśli aktualnie rysujemy) oraz jeśli ma wypełnienie, wtedy ta ścieżka zostaje zamknięta oraz wypełniona, podobne do wywołania funkcji MovieClip.endFill().

 

Parametry

 

typWypelnienia:String - Dostępne wartości to "linear" liniowy oraz "radial" okrągły.

 

kolory:Array - Tablica kolorów RGB w formacie heksadecymalnym dla otrzymania gradientu. Możesz określić do 15 kolorów, dla każdego koloru odpowiada kanał alpha.

 

alphas:Array - Tablica wartości przezroczystości alpha dla odpowiednich kolorów. Wartości to przedział od 0 do 100.

 

wpsolczynniki:Array - Tablica rozdania współczynników kolorów,dostępne wartości to 0 - 255.

 

Na przykład dla liniowego gradientu z dwóch kolorów, zielonego i niebieskiego, podane zdjęcia symulują różne wartości dla tego parametru:

 

współczynniki

Gradient

[0, 127]


[0, 255]


[127, 255]


 

Wartości w tablicy muszą sekwencyjnie się powiększać, na przykład: [0, 63, 127, 190, 255].

 

matrix:Object - Transformacja matrix, jaka ma zostać nadana. Może być on w trzech formach:

 

  • Obiekt matrix (Flash Player 8 lub późniejszy), jako zdefiniowany przez flash.geom.Matrix klasę. Klasa flash.geom.Matrix załącza metodę createGradientBox(), która pozwala ci wygodnie ustawić matrix dla użytko z beginGradientFill() metodą klasy MovieClip. Adobe zaleca tą formę matrix'u dla Flash Player 8 oraz późniejszych.

 

  •  

    import flash.geom.*

    this.createEmptyMovieClip("gradient_mc", this.getNextHighestDepth());
    with (gradient_mc)
    {
        colors = [0xFF0000, 0x0000FF];
        fillType = "radial"
        alphas = [100, 100];
        ratios = [0, 0xFF];
        spreadMethod = "reflect";
        interpolationMethod = "linearRGB";
        focalPointRatio = 0.9;
        matrix = new Matrix();
        matrix.createGradientBox(100, 100, Math.PI, 0, 0);
        beginGradientFill(fillType, colors, alphas, ratios, matrix,
            spreadMethod, interpolationMethod, focalPointRatio);
        moveTo(100, 100);
        lineTo(100, 300);
        lineTo(300, 300);
        lineTo(300, 100);
        lineTo(100, 100);
        endFill();
    }

    Przykład zwróci:


  • Możesz użyć bezpośrednio właściwości a, b, c, d, e, f, g, h, oraz i, które będą użyte w tablicy matrix 3 x 3:
     a b c
    d e f
    g h i

    this.createEmptyMovieClip("gradient_mc", this.getNextHighestDepth());
    with (gradient_mc)
    {
        colors = [0xFF0000, 0x0000FF];
        fillType = "radial"
        alphas = [100, 100];
        ratios = [0, 0xFF];
        spreadMethod = "reflect";
        interpolationMethod = "linearRGB";
        focalPointRatio = 0.9;
        matrix = {a:200, b:0, c:0, d:0, e:200, f:0, g:200, h:200, i:1};
        beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod,
    interpolationMethod, focalPointRatio);
        moveTo(100, 100);
        lineTo(100, 300);
        lineTo(300, 300);
        lineTo(300, 100);
        lineTo(100, 100);
        endFill();
    }


    Przykład zwróci:


  • Obiekt z właściwościami: matrixType, x, y, w, h, r.

 

  • this.createEmptyMovieClip("gradient_mc", this.getNextHighestDepth());
    with (gradient_mc)
    {
        colors = [0xFF0000, 0x0000FF];
        fillType = "radial"
        alphas = [100, 100];
        ratios = [0, 0xFF];
        spreadMethod = "reflect";
        interpolationMethod = "linearRGB";
        focalPointRatio = 0.9;
        matrix = {matrixType:"box", x:100, y:100, w:200, h:200, r:(45/180)*Math.PI};
        beginGradientFill(fillType, colors, alphas, ratios, matrix,
            spreadMethod, interpolationMethod, focalPointRatio);
        moveTo(100, 100);
        lineTo(100, 300);
        lineTo(300, 300);
        lineTo(300, 100);
        lineTo(100, 100);
        endFill();
    }

    Przykład zwróci:


 

metodaRozprzestrzeniania:String [opcjonalny] - Dodana w Flash Player 8. Dostępne wartości to "pad", "reflect," i "repeat," które kontrolują tryb wypełnienia gradientu. Domyślnie jest "pad".

 

Dla przykładu, rozważmy tutaj gradient pomiedyz dwoma kolorami:

 

import flash.geom.*;

var fillType:String = "linear"

var colors:Array = [0xFF0000, 0x0000FF];

var alphas:Array = [100, 100];

var ratios:Array = [0x00, 0xFF];

var matrix:Matrix = new Matrix();

matrix.createGradientBox(20, 20, 0, 0, 0);

var spreadMethod:String = "pad";

this.beginGradientFill(fillType, colors, alphas, ratios, matrix, spreadMethod);

this.moveTo(0, 0);

this.lineTo(0, 100);

this.lineTo(100, 100);

this.lineTo(100, 0);

this.lineTo(0, 0);

this.endFill();

 

Ten przykład używając "pad" zwróci obraz:


 

Jeśli użyjesz metody "reflect" wtedy efekt będzie następujący:


 

Jeśli użyjesz metody "repeat" wtedy efekt będzie następujący:


 

metodaInterpolacji:String [opcjonalnyl] -Dodany w Flash Player 8. Dostępne wartości to "RGB" lub "linearRGB". Z wartością "linearRGB", kolory są rozpraszane liniowo w gradiencie. Domyślna wartość to "RGB".

 

Przykład pod spodem ilustruje różnice pomiędzy metodami:



"linearRGB"

"RGB"

 

punktWskaznika:Number [opcjonalny] - Dodane w Flash Player 8. Liczba określająca kontrolę lokacji punktu wskaźnika dgradientu. Wartość 0 wskazuje punk w samym centrum. Wartość 1 wskazuje punk na obramowanie okręgowe gradientu. Wartość -1 określa punkt inne obramowanie gradientu okregu. Wartości mniejsze niż -1 lub większe niż 1 są zaokgrąglane do -1 lub 1. Na przykład, podany punkt wskaźnika został ustawiony na 0.75:




Napisz Artyku³

Listing

import flash.geom.*
this.createEmptyMovieClip("gradient_mc", this.getNextHighestDepth());
with (gradient_mc)
    {
        fillType = "radial"
    colors = [0x000000, 0xFFFFFF];
        alphas = [50, 90];
        ratios = [0, 0xFF];
        spreadMethod = "pad";
        interpolationMethod = "RGB";
    focalPointRatio = 0.3;
    matrix = new Matrix();
    matrix.createGradientBox(100, 100, 0, 0, 0);
    beginGradientFill(fillType, colors, alphas, ratios, matrix,
        spreadMethod, interpolationMethod, focalPointRatio);
    moveTo(0, 0);
    lineTo(0, 100);
    lineTo(100, 100);
    lineTo(100, 0);
    lineTo(0, 0);
    endFill();
}

//przykład zwróci gradient kulisty z kolorów szary (środek) i biały




Dodano przez: divix
Ranga: Administrator serwisu Punktów: 0
Komentarze użytkowników
    • Tre¶æ komentarza
      Kod do komentarza (opcjonalnie)
      PHP JavaScript MySQL Smarty SQL HTML CSS ActionScript
      Autor
      Token
      token

       

       








funkcje.net
Wszelkie prawa zastrzeżone©. | Funkcje.net 2008-2024 v.1.5 | design: diviXdesign & rainbowcolors