グラデーション塗りの学習

by autumngoodluck forked from MyTemplate (diff: 146)
グラデーション塗りの学習
♥0 | Line 25 | Modified 2010-01-02 00:12:41 | MIT License
play

ActionScript3 source code

/**
 * Copyright autumngoodluck ( http://wonderfl.net/user/autumngoodluck )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/3eUs
 */

// forked from autumngoodluck's MyTemplate
/*
 * グラデーション塗りの学習
 */
package
{
    import flash.display.GradientType;
    import flash.display.Sprite;
    
    [SWF(width="465", height="465", backgroundColor="0xFFFFFF", frameRate="12")]
    public class GradientFillSample extends Sprite
    {
        public function GradientFillSample()
        {
        		var colors:Array  = [0x00FF00, 0x000000];	// 緑から黒へ
        		var alphas:Array  = [1, 1];				// 緑も黒も 100% の透明度
        		var ratios:Array  = [0, 255];			// 等しく重みづけしたグラデーション(緑から黒への変化が均等になる)
        												// [  0, 127]: 黒多め(黒への変化が早い)
        												// [127, 255]: 緑多め(黒への変化が遅い)
        		var canvas:Sprite = new Sprite();			// 描画用のキャンバスを準備
        		
        		// グラデーション塗りを適用した矩形の描画(まだ表示されない)
        		canvas.graphics.beginGradientFill(GradientType.RADIAL,	// RADIAL: 放射状グラデーション, LINEAR: 線状グラデーション
        		                                  colors,
        		                                  alphas,
        		                                  ratios);
//        		canvas.graphics.drawRect(0, 0, 100, 100);					// 矩形
        		canvas.graphics.drawCircle(50, 50, 50);					// 円
        		canvas.graphics.endFill();
        		
        		// 先程描いた矩形をステージ中央に再配置(まだ表示されない)
        		canvas.x = (stage.stageWidth  - canvas.width)  / 2;
        		canvas.y = (stage.stageHeight - canvas.height) / 2;
        		
        		// 「表示リスト」に追加(ここで表示される)
        		addChild(canvas);
        }
    }
}