forked from: 追加と削除の練習

by ohisama forked from 追加と削除の練習 (diff: 37)
♥0 | Line 98 | Modified 2013-02-04 18:40:32 | MIT License
play

ActionScript3 source code

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

// forked from nabe's 追加と削除の練習
package 
{
    import flash.display.SimpleButton;
    import flash.display.Sprite;
    import flash.events.Event;
    import flash.events.MouseEvent;
    public class Main extends Sprite 
    {
        public function Main ():void 
        {
            if (stage) 
            {
                init_(null);
            } 
            else 
            {
                addEventListener(Event.ADDED_TO_STAGE, init_);
            }
        }
        private function init_(e : Event) : void 
        {
            removeEventListener(Event.ADDED_TO_STAGE, init_);
            var button_ : Button = new Button;
            button_.addEventListener(MouseEvent.CLICK, append_);
            addChild(button_);
            append_(null);
        }
        private function append_(e : Event) : void 
        {
            addChildAt(new Circle, 0);
        }
    }
}
import flash.display.GradientType;
import flash.display.Graphics;
import flash.events.MouseEvent;
import flash.geom.Matrix;
import flash.text.TextField;
import flash.text.TextFieldAutoSize;
import flash.text.TextFormat;
import flash.display.Sprite;
import flash.events.Event;
class Button extends TextField 
{
    public function Button() : void 
    {
        var format_ : TextFormat = new TextFormat;
        format_.size = 24;
        format_.leftMargin = 12;
        format_.rightMargin = 12;
        format_.color = 0x0;
        defaultTextFormat = format_;
        text = "AddNew";
        autoSize = TextFieldAutoSize.LEFT;
        border = true;
        borderColor = 0x0;
        background = true;
        backgroundColor = 0xCCFFFF;
        selectable = false;
    }
}
class Circle extends Sprite 
{
    public function Circle() : void 
    {
        if (stage) 
        {
            init_(null);
        } 
        else 
        {
            addEventListener(Event.ADDED_TO_STAGE, init_);
        }
    }
    private function init_(e : Event) : void 
    {
        removeEventListener(Event.ADDED_TO_STAGE, init_);
        x = stage.stageWidth * Math.random();
        y = stage.stageHeight * Math.random();
        draw_();
        addEventListener(MouseEvent.CLICK, remove_);
    }
    private function draw_() : void 
    {
        const r_ : int = 200;
        var m_ : Matrix = new Matrix;
        m_.createGradientBox(r_ * 2, r_ * 2, Math.PI * 0.25, -r_, -r_);
        var g_ : Graphics = graphics;
        g_.clear();
        g_.beginGradientFill(GradientType.RADIAL, [0xFFFFFF, 0xFF0000, 0xCC3333], null, [0x4, 0xD0, 0xFF], m_, "pad", "rgb", -0.25);
        g_.drawCircle(0, 0, r_);
        g_.endFill();
    }
    private function remove_(e : Event) : void 
    {
        parent.removeChild(this);
    }
}