ライン作成の練習2

by yuugurenote
マウスをドラッグ&ドロップでラインが発生します。
クリックした位置がスタート位置でクリックを外した位置に
向かってラインが伸びます。
♥0 | Line 64 | Modified 2012-01-11 20:03:19 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.events.Event;
    import flash.geom.Point;
    import flash.events.TextEvent;
    import flash.text.TextField;
    import flash.text.TextFieldAutoSize;
    import flash.text.TextFormat;
 [SWF(width=465,height=465,backgroundColor=0xFFFFFF,frameRate=60)]
    public class AS120111_01 extends Sprite {
        public var sw:Number=stage.stageWidth;
        public var sh:Number=stage.stageHeight;
        public var _mySprite:mySprite;
        public var _px1:Number;
        public var _py1:Number;
        public var _px2:Number;
        public var _py2:Number;
        public var _tf:TextField;

        public function AS120111_01() {

            stage.addEventListener(MouseEvent.MOUSE_DOWN,xDown);
            stage.addEventListener(MouseEvent.MOUSE_UP,xUp);

        }
        public function xDown(e:MouseEvent):void {
            _px1=mouseX;
            _py1=mouseY;
        }
        public function xUp(e:MouseEvent):void {
            _px2=mouseX;
            _py2=mouseY;
            _mySprite=new mySprite(_px1,_py1,_px2,_py2);
            addChild(_mySprite);
        }
    }
}

import flash.display.Sprite;
import flash.events.Event;

class mySprite extends Sprite {
    public var _px1:Number;
    public var _py1:Number;
    public var _px2:Number;
    public var _py2:Number;
    public var myNum:Number = 0;
    public var px:Number=465;
    public var cNum:Number=Math.random()*0xFFFFFF;
    public var _tf:TextField;

    public function mySprite(px1:Number,py1:Number,px2:Number,py2:Number):void {
        _px1=px1;
        _py1=py1;
        _px2=px2;
        _py2=py2;
        addEventListener(Event.ENTER_FRAME,xEnter);
    }
    public function xEnter(e:Event):void {
        myNum += 0.02;
        this.graphics.clear();
        this.graphics.lineStyle(3,cNum,1,false,"none");
        this.graphics.moveTo(_px1,_py1);
        this.graphics.lineTo((_px2 - _px1)*myNum+_px1,(_py2-_py1)*myNum+_py1);
        this.addEventListener(Event.ENTER_FRAME,xEnter);

        this.alpha-=0.001;
        if (this.alpha < 0) removeEventListener(Event.ENTER_FRAME, xEnter);
    }
}