In case Flash no longer exists; a copy of this site is included in the Flashpoint archive's "ultimate" collection.

Dead Code Preservation :: Archived AS3 works from wonderfl.net

Icon [Flash CS3]

////////////////////////////////////////////////////////////////////////////////
// Icon [Flash CS3]
//
// [AS3.0] beginGradientFill()メソッドだ!
// http://www.project-nya.jp/modules/weblog/details.php?blog_id=1062
////////////////////////////////////////////////////////////////////////////////
Get Adobe Flash player
by ProjectNya 09 Feb 2011
    Embed
/**
 * Copyright ProjectNya ( http://wonderfl.net/user/ProjectNya )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/g6L8
 */

////////////////////////////////////////////////////////////////////////////////
// Icon [Flash CS3]
//
// [AS3.0] beginGradientFill()メソッドだ!
// http://www.project-nya.jp/modules/weblog/details.php?blog_id=1062
////////////////////////////////////////////////////////////////////////////////

package {

    import flash.display.Sprite;
    import flash.display.StageScaleMode;
    import flash.display.StageAlign;

    [SWF(backgroundColor="#FFFFFF", width="465", height="465", frameRate="30")]

    public class Main extends Sprite {
        private var icon:Icon;

        public function Main() {
            //Wonderfl.capture_delay(1);
            init();
        }

        private function init():void {
            icon = new Icon(150);
            addChild(icon);
            icon.x = 232;
            icon.y = 232;
            icon.scale = 2;
            icon.init([0xCC3333, 0x700000], "Fl", 100, 12);
        }
        
    }

}


//////////////////////////////////////////////////
// Iconクラス [CS3]
//////////////////////////////////////////////////

import flash.display.Sprite;
import flash.display.Shape;
import flash.geom.Matrix;
import flash.display.GradientType;
import flash.display.SpreadMethod;
import flash.display.InterpolationMethod;
import flash.filters.DropShadowFilter;
import flash.text.TextField;
import flash.text.TextFieldType;
import flash.text.AntiAliasType;
import flash.text.TextFormat;
import flash.text.TextFormatAlign;

class Icon extends Sprite {
    private var size:uint;
    private var colors:Array;
    private var txt:TextField;
    private static var fontType:String = "_ゴシック";
    private var fontSize:uint;
    private var yOffset:int;
    private var _scale:Number = 1;

    public function Icon(s:uint) {
        size = s;
    }

    public function init(list:Array, t:String, s:uint, y:int = 0):void {
        colors = list;
        fontSize = s;
        yOffset = y;
        draw();
        txt.text = t;
    }
    private function draw():void {
        var base:Shape = new Shape();
        addChild(base);
        var alphas:Array = [1, 1];
        var ratios:Array = [0, 255];
        var matrix:Matrix = new Matrix();
        var offset:Number = size*0.1;
        matrix.createGradientBox(size*2, size*2, 0, -size*1.5+offset, -size*1.5+offset);
        base.graphics.beginGradientFill(GradientType.RADIAL, colors, alphas, ratios, matrix, SpreadMethod.PAD, InterpolationMethod.RGB, 0);
        base.graphics.drawRect(-size*0.5, -size*0.5, size, size);
        base.graphics.endFill();
        var shade:DropShadowFilter = new DropShadowFilter(4, 90, 0x000000, 0.3, 8, 8, 2, 3, false, false);
        base.filters = [shade];
        txt = new TextField();
        addChild(txt);
        txt.x = -size*0.5;
        txt.y = -size*0.5 + yOffset;
        txt.width = size;
        txt.height = size;
        txt.type = TextFieldType.DYNAMIC;
        txt.selectable = false;
        //txt.embedFonts = true;
        //txt.antiAliasType = AntiAliasType.ADVANCED;
        var tf:TextFormat = new TextFormat();
        tf.font = fontType;
        tf.size = fontSize;
        tf.align = TextFormatAlign.CENTER;
        txt.defaultTextFormat = tf;
        txt.textColor = 0xFFFFFF;
        var shadow:DropShadowFilter = new DropShadowFilter(0, 90, 0x000000, 0.5, 2, 2, 2, 3, false, false);
        txt.filters = [shadow];
    }
    public function get scale():Number {
        return _scale;
    }
    public function set scale(param:Number):void {
        _scale = param;
        scaleX = scaleY = _scale;
    }

}