Painting Board

by petewarrior
This is a simple painting app. Choose a color on the top left and start drawing with your mouse.
♥0 | Line 65 | Modified 2011-11-13 19:05:51 | MIT License
play

ActionScript3 source code

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

package {
    import flash.text.TextField;
    import flash.geom.Point;
    import flash.display.Shape;
    import flash.display.MovieClip;
    import flash.display.Sprite;
    import flash.events.MouseEvent;
    
    
    public class FlashTest extends Sprite {
        
        private var colorpalette:Vector.<Sprite>;
        private var canvas:Sprite;
        
        private var PEN_DOWN:Boolean = false;
        
        public function FlashTest() {
            // write as3 code here..
            
            canvas = new Sprite();
            canvas.graphics.beginFill(0x000000);
            canvas.graphics.drawRect(0,0,1000,1000);
            canvas.graphics.endFill();
            
            colorpalette = new Vector.<Sprite>;
            
            
            colorpalette.push(createColor(0xff0000));
            colorpalette.push(createColor(0x00ff00));
            colorpalette.push(createColor(0xff00ff));
            
            
            addChild(canvas);
            
            for(var i:uint; i < colorpalette.length; i++) {
                var topleft:Point = new Point(30, 30);
                colorpalette[i].x = topleft.x + i * (colorpalette[i].width + 10);
                colorpalette[i].y = topleft.y;
                addChild(colorpalette[i]);
                
                colorpalette[i].addEventListener(MouseEvent.CLICK, onSelectColor);
            }
            
            canvas.addEventListener(MouseEvent.MOUSE_DOWN, onDown);
            canvas.addEventListener(MouseEvent.MOUSE_UP, onUp);
            canvas.addEventListener(MouseEvent.MOUSE_MOVE, onMove);

        }

        private function onSelectColor(e:MouseEvent):void {
            var col:Sprite = e.target as Sprite;
            selected_color = new uint(col.name);
            trace(selected_color);
        }

        private var selected_color:uint = 0xff0000;
        
        private function onDown(e:MouseEvent):void {
            PEN_DOWN = true;
            trace("pen down");
            //canvas.graphics.clear();
            canvas.graphics.lineStyle(2, selected_color);
            canvas.graphics.moveTo(stage.mouseX, stage.mouseY);
        }

        private function onUp(e:MouseEvent):void {
            PEN_DOWN = false;
        }
                
        private function onMove(e:MouseEvent):void {
            if(PEN_DOWN) { 
                canvas.graphics.lineTo(stage.mouseX, stage.mouseY);
                trace(stage.mouseX + ", " + stage.mouseY);
            }
        }

        
        private function createColor(col:uint):Sprite {
            var color:Sprite = new Sprite();
            
            color.graphics.beginFill(col);
            color.graphics.drawCircle(0,0,20);
            color.graphics.endFill();
            color.name = col.toString();
            
            var colname:TextField = new TextField();
            colname.text = col.toString();
            //color.addChild(colname);
            
            return color;
        }

        
    }
}