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:
|
Gradient |
---|---|
|
|
|
|
|
|
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 zbeginGradientFill()
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
, orazi
, które będą użyte w tablicy matrix 3 x 3:a b c
d e f
g h ithis.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:
|
|
|
|
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:
Listing
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
Ranga: Administrator serwisu Punktów: 0