Basic お絵かき

by Kay
マウスで引いた線を描画する基本
* マウスを押して動かしている間線を描いて
* マウスを離したら終了
♥0 | Line 36 | Modified 2010-03-04 14:56:31 | MIT License
play

ActionScript3 source code

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

/*
 * マウスで引いた線を描画する基本
 * マウスを押して動かしている間線を描いて
 * マウスを離したら終了
 */

package {
	
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    import flash.text.TextField;
    
    [SWF(width=400, height=400, frameRate=24, backgroundColor=0x0000FF)]
    public class FlashTest extends Sprite {
    	
    		public var dragFlg:Boolean = false;
        public var statusText:TextField;
        
        public function FlashTest() {
        		// 状態表示(基本動作には不要)
        		statusText = new TextField();
        		statusText.text = '';
        		statusText.selectable = false;
        		addChild(statusText);
        		
        		// イベント検知
        		stage.addEventListener(MouseEvent.MOUSE_UP,   xStopDrag);
        		stage.addEventListener(MouseEvent.MOUSE_MOVE, xDrawLine);
        		stage.addEventListener(MouseEvent.MOUSE_DOWN, xStartDrag);
        }
        
        // 描画処理
		// マウスが動いたことを検知し
		// かつマウスが押されている場合(dragFlg==true)だけドラッグと判断する
        public function xDrawLine(e:MouseEvent):void {
        		if (dragFlg) {
	        		statusText.text = 'drag';	// 状態表示
	        		graphics.lineTo(mouseX,mouseY);
        		}
        }
        
        // 描画開始
        public function xStartDrag(e:MouseEvent):void {
        		statusText.text = 'start';	// 状態表示
        		dragFlg = true;
        		graphics.clear();
        		graphics.lineStyle(10,0xffffff);
        		graphics.moveTo(e.localX, e.localY);
        }
        
        // 描画終了
        public function xStopDrag(e:MouseEvent):void {
        		statusText.text = 'stop';	// 状態表示
        		dragFlg = false;
        }
    }
}

Forked