Murayama blog.

プログラミング教育なブログ

グラデーション


続いて、グラデーションいってみる。
今日はがんばっちゃうよ。


先に結果。そんなにたいしたことないけど。


そんで、コード。
グラデーションのときは、beginFillメソッドではなく、beginGradientFillメソッドを使う。
beginGradientFillメソッドは第1引数に、
GradientType.RADIAL(放射状グラデーション)
GradientType.LINEAR(線上グラデーション)
のいずれかを指定できる。
その他の引数は、カラー、透明度、比率、マトリックス。
マトリックスについては、深くふれていないので、また後でどっかで勉強することになりそう。

package
{
  import flash.display.GradientType;
  import flash.display.Sprite;
  import flash.geom.Matrix;
  
  public class GradientFill extends Sprite
  {
    public function GradientFill()
    {
      graphics.lineStyle(1);
      
      // グラデーションのための要素を作成
      var colors:Array = [0xffffff, 0x00ff00];
      var alphas:Array = [1, 1];
      var ratios:Array = [0, 255];
      var matrix:Matrix = new Matrix;
      matrix.createGradientBox(200, 200, Math.PI, 100, 100);
      
      // グラデーションbeginGradientFill
      graphics.beginGradientFill(GradientType.LINEAR, colors, alphas, ratios, matrix);
      graphics.drawRect(100, 100, 200, 200);
      graphics.endFill();
    }
  }
}


おわり。