Skip to content

Ecce Signum

Immanentize the Empathy

  • Home
  • About Me
  • Published Works and Literary Matters
  • Indexes
  • Laboratory
  • Notebooks
  • RSS Feed

First Flash Experiment in a Long Time

2007-06-11 John Winkelman

Here it is. My first real experiment in Flash 9.

Click to play.

Because, first and foremost, Flash is a trip toy.

Code for this experiment here:

package {
 import flash.display.*;
 import flash.events.Event;
 import flash.geom.*;
 import flash.filters.BlurFilter;
 public class BitmapRotate2 extends Sprite {
 private var _graphic:PolyStar;
 private var _graphic2:PolyStar;
 private var _bitmap:BitmapData;
 private var _image:Bitmap;
 private var _m:Matrix;
 private var _blurFilter:BlurFilter;
 private var xSpeed:Number = .9;
 private var ySpeed:Number = 1.1;
 public function BitmapRotate2() {
 _graphic = new PolyStar(0,0,7,false,50,30,0,0xff0000,100,0x0000ff,100);
 _m = _graphic.transform.matrix;
 _blurFilter = new BlurFilter();
 addEventListener(Event.ENTER_FRAME,registerStage);
 }
 public function registerStage(event:Event) {
 if(stage) {
 removeEventListener(Event.ENTER_FRAME,registerStage);
 _graphic.x = 0
 _graphic.y = 0;
 _bitmap = new BitmapData(stage.stageWidth,stage.stageHeight,true,0xff000000);
 _image = new Bitmap(_bitmap);
 _m = _graphic.transform.matrix;
 _graphic2 = new PolyStar(stage.stageWidth/2,stage.stageHeight/2,9,true,stage.stageWidth/2-20,stage.stageWidth/6,0,0xff0000,100,0xff0000,0);
 addChild(_image);
 addEventListener(Event.ENTER_FRAME,onEnterFrame);
 }
 }
 private function onEnterFrame(event:Event) {
 _graphic.rotation+=5;
 _graphic.x = mouseX;
 _graphic.y = mouseY;
 _m = _graphic.transform.matrix;
 _bitmap.draw(_graphic,_graphic.transform.matrix);
 _bitmap.draw(_graphic2,_graphic2.transform.matrix);
 _bitmap.applyFilter(_bitmap,_bitmap.rect,new Point(),_blurFilter);
 }
 }
 }

The “PolyStar” class is here:

package {
 import flash.display.Shape
 public class PolyStar extends Shape{
 public function PolyStar($x:Number,$y:Number,$points:Number,$vertical:Boolean,$outerRad:Number,$innerRad:Number,$lineW:Number,$lineC:Number,$lineA:Number,$bgC,$bgA:Number) {
 var points:Number = $points*2;
 var angleDelta:Number = (Math.PI*2 / points);
 var angle:Number = 0;
 var anglex:Number = 0;
 var angley:Number = 0;
 graphics.lineStyle($lineW,$lineC,$lineA);
 if(typeof($bgC)=="number") {
 graphics.beginFill($bgC,$bgA);
 } else {
 graphics.beginGradientFill($bgC.type,$bgC.colors,$bgC.alphas,$bgC.ratios,$bgC.matrix);
 }
 if($vertical != true) {
 graphics.moveTo($outerRad,0);
 } else {
 graphics.moveTo(//change orientation of polygon
 Math.cos(angle + (angleDelta/2)) * $outerRad,
 Math.sin(angle + (angleDelta/2)) * $outerRad
 );
 }
 for(var i=0;i<points;i++) br=""> angle += angleDelta;
 var temp:Number = (i%2) ? $outerRad: $innerRad;
 if($vertical != true) {
 anglex = Math.cos(angle) * temp;
 angley = Math.sin(angle) * temp;
 } else {//change orientation of polygon
 anglex = Math.cos(angle + (angleDelta/2)) * temp;
 angley = Math.sin(angle + (angleDelta/2)) * temp;
 }
 graphics.lineTo(anglex,angley);
 }
 x = $x;
 y = $y;
 }
 }
 }

Enjoy!

Posted in ProgrammingTagged Flash

Post navigation

Festival 2007 Photos
Second Flash Experiment in A Long Time

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Personal website of
John Winkelman

John Winkelman in closeup

Archives

Categories

Posts By Month

June 2007
S M T W T F S
 12
3456789
10111213141516
17181920212223
24252627282930
« May   Jul »

Links of Note

Reading, Writing
Tor.com
Locus Online
The Believer
File 770
IWSG

Watching, Listening
Writing Excuses Podcast
Our Opinions Are Correct
The Naropa Poetics Audio Archive

News, Politics, Economics
Naked Capitalism
Crooked Timber

Meta

  • Log in
  • Entries feed
  • Comments feed
  • WordPress.org

© 2025 Ecce Signum

Proudly powered by WordPress | Theme: x-blog by wpthemespace.com