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:
  1. stage.frameRate = 31;
  2. var canvas:BitmapData = new BitmapData(500,500, true, 0xFF000000);
  3. // transparent black overlay
  4. var overlay:BitmapData = new BitmapData(500,500,true, 0x11000000);
  5. addChild(new Bitmap(canvas));
  6.  
  7. var brush:Shape = new Shape();
  8. brush.graphics.beginFill(0xFFFFFF,0.5);
  9. brush.graphics.drawCircle(0,0,20);
  10.  
  11. addEventListener(Event.ENTER_FRAME, onLoop);
  12. function onLoop(evt:Event):void {
  13.     brush.x = mouseX;
  14.     brush.y = mouseY;
  15.     canvas.draw(brush, brush.transform.matrix);
  16.     // draw canvas to itself with offset
  17.     canvas.copyPixels(canvas, canvas.rect, new Point(0,2), null, null, true);
  18.     // draw transparent black overlay
  19.     canvas.copyPixels(overlay, canvas.rect, new Point(0,0), null, null, true);
  20. }

I'm always thinking about good assignments for an experimental visual programming class: "Create an abstract form that resembles a curtain."

Leave a Reply