Simple Drawing in AS3 revisited

This code draws with a predefined brush “brush” onto the screen when the mouse is down and moving. A colour picker allows you to modify the colour. 

import flash.display.BitmapData;
import flash.geom.Rectangle;
import flash.geom.Matrix;
import flash.geom.ColorTransform
import fl.controls.ColorPicker;
import fl.events.ColorPickerEvent;
var ct:ColorTransform = new ColorTransform();
var myBitmapData:BitmapData = new BitmapData(200,200, false, 0xFFCCCCCC);
var myBitmap:Bitmap = new Bitmap(myBitmapData,”auto”,false);
var canvas:Sprite = new Sprite();
var size:Number = brush.width;
var offSet:Number = Math.floor(size/2);
var translateMatrix:Matrix = new Matrix()
var brushData:BitmapData = new BitmapData(int(brush.width), int(brush.height), true, 0×00FF0000);
init();
function init(){
 brushData.draw(brush, new Matrix, new ColorTransform, “normal”, brushData.rect, false);
 brushColour.addEventListener(ColorPickerEvent.CHANGE,updateColour);
 canvas.addChild(myBitmap);
 addChild(canvas)
 canvas.addEventListener(MouseEvent.MOUSE_DOWN, startDraw);
 canvas.addEventListener(MouseEvent.MOUSE_UP, endDraw);
 canvas.addEventListener(MouseEvent.ROLL_OUT, endDraw);
 brushColour.selectedColor = 0xFFFFFF;
}
function updateColour(e:Event){
 ct.color = brushColour.selectedColor;
}
function startDraw(event:MouseEvent):void {
 canvas.addEventListener(MouseEvent.MOUSE_MOVE, drawPoint);
}
function endDraw(event:MouseEvent):void {
 canvas.removeEventListener(MouseEvent.MOUSE_MOVE, drawPoint);
}
function drawPoint(event:MouseEvent):void {
 translateMatrix.tx = canvas.mouseX-offSet;
 translateMatrix.ty = canvas.mouseY-offSet;
 myBitmapData.draw(brushData,translateMatrix,ct,null,null,false)
}

Tags: ,

Leave a Reply