読者です 読者をやめる 読者になる 読者になる

Flash制作講座フラッシュ制作講習

FLASH制作からActionScriptによるFlashコンテンツ制作のためのフラッシュ制作講座

beginGradientFillグラデーション塗り

FlashのオブジェクトGraphicsメソッド(lineToやdrawCircleなど)で描画したシェイプにグラデーション塗りを指定する場合にbeginGradientFill(MovieClip.beginGradientFill メソッド)でグラデーションでの塗り色を指定します。clearメソッドで塗り色をクリアすることも可能です。



var shape:Shape = new Shape();
var gcolor = shape.graphics;
var fillType:String = "linear"
var colors:Array = [0xFF0000, 0x0000FF]; .......
gcolor.graphics.beginGradientFill(fillType, colors, alphas, ratios, matr, spreadMethod);


上記のような書式になりますが、変数宣言せずにクラス内部に直接記述する方法もあります。



var shape:Shape = new Shape();
var gcolor = shape.graphics;
gcolor.beginGradientFill (
GradientType.LINEAR,
[ 0x000000,0xFFFFFF],
[ 100 , 100],
[ 0 , 255],
new Matrix(
0.2 , 0 ,
0, 1,
0 , 0
),
SpreadMethod.PAD,
InterpolationMethod.LINEAR_RGB,
0.0
);


■beginGradientFillパラメータ

・type:String
使用グラデーションのタイプ指定。GradientTypeクラス値は、GradientType.LINEAR もしくは GradientType.RADIAL

・colors:Array
グラデーションのRGB1進カラー値の配列(白 0x000000,黒 0xFFFFFFなど)で、15色まで指定可能。各色ごとにalphas パラメータとratiosパラメータで対応値を指定する必要がある

・alphas:Array
colors配列内の各色に対応するアルファ値の配列。有効な値は0から1で、0未満の値指定は、デフォルト0で適用。1以上の値指定では、デフォルトで1が適用される。

・ratios:Array
色分布比率の配列で、0から255の値が指定可能。100%サンプリング色の幅割合をパーセントで定義。値0はグラデーションボックス左の位置で、255はグラデーションボックスの右位置。

・matrix:Matrix(default = null)
flash.geom.Matrixクラスで定義される変換マトリックスで、flash.geom.Matrixクラスには、createGradientBox() メソッドがあり、beginGradientFill() メソッドで利用可能なマトリックス簡単に設定可能

・spreadMethod:String (default = "pad")
spread メソッドで指定する SpreadMethod クラス値は、SpreadMethod.PAD、SpreadMethod.REFLECT、SpreadMethod.REPEATの三つになる

・interpolationMethod:String (default = "rgb")
値指定をするInterpolationMethodクラス値は、InterpolationMethod.linearRGBもしくはInterpolationMethod.RGB。


・focalPointRatio:Number (default = 0)
グラデーションの焦点位置を設定する値で、0は焦点が中央、1は焦点が円グラデーションの境界上にあり、-1は焦点が円グラデーション逆側の境界にあるfocalPointRatioは0から1、-1の間で数値が指定可能