Abstract Curtain
September 12th, 2008
Click the above image to view the flash version
This uses a BitmapData technique that I first encountered in Director Imaging Lingo. Try this code out:
Actionscript:
-
stage.frameRate = 31;
-
var canvas:BitmapData = new BitmapData(500,500, true, 0xFF000000);
-
// transparent black overlay
-
var overlay:BitmapData = new BitmapData(500,500,true, 0x11000000);
-
addChild(new Bitmap(canvas));
-
-
var brush:Shape = new Shape();
-
brush.graphics.beginFill(0xFFFFFF,0.5);
-
brush.graphics.drawCircle(0,0,20);
-
-
addEventListener(Event.ENTER_FRAME, onLoop);
-
function onLoop(evt:Event):void {
-
brush.x = mouseX;
-
brush.y = mouseY;
-
canvas.draw(brush, brush.transform.matrix);
-
// draw canvas to itself with offset
-
canvas.copyPixels(canvas, canvas.rect, new Point(0,2), null, null, true);
-
// draw transparent black overlay
-
canvas.copyPixels(overlay, canvas.rect, new Point(0,0), null, null, true);
-
}
I'm always thinking about good assignments for an experimental visual programming class: "Create an abstract form that resembles a curtain."