Author Archives: Zevan

Torus 3D

CLICK HERE TO COPY
Actionscript:

stage.frameRate = 30;

const TWO_PI:Number = Math.PI * 2;

var centerX:Number = 200;

var centerY:Number = 200;

var p:Array = new Array();

var zpos:Number;

var xpos:Number;

var ypos:Number;

var depth:Number;

var canvas:BitmapData = new BitmapData(400,400,true,0xFF000000);

addChild(new Bitmap(canvas));

 

var dy:Number = 0

var dx:Number = 0;

 

addEventListener(Event.ENTER_FRAME, onLoop);

function onLoop(evt:Event):void {

    canvas.fillRect(canvas.rect, 0xFF000000);

     

     dx += (mouseX / 100 - dx)/12;

     dy += [...]

Posted in 3D, BitmapData | Tagged , | Leave a comment

Flashvars

CLICK HERE TO COPY
Actionscript:

// variable is passed into the swf via Javascript (most likely swfObject)

// myswf.swf?myFlashVar="a new value"

 

var myFlashVar:String = "Some Default Value";

if (root.loaderInfo.parameters.myFlashVar){

   myFlashVar = root.loaderInfo.parameters.myFlashVar;

}

Getting at flashvars in AS3 requires a bit more typing than it did in AS2. Above is a technique I find myself using from time to time. Usually for [...]

Posted in dynamic, misc | Tagged , | Leave a comment

Low Precision Sine and Cosine

CLICK HERE TO COPY
Actionscript:

var t:Number=0, cos:Number, sin:Number;

 

var canvas:BitmapData = new BitmapData(400,400,false, 0x000000);

addChild(new Bitmap(canvas));

 

var shape:Shape = new Shape();

with(shape.graphics) beginFill(0x568338, .2), drawCircle(0,0,10);

 

addEventListener(Event.ENTER_FRAME, onLoop);

function onLoop(evt:Event):void {

   

         t += .1;

        // -- low precision sine/cosine

        //always wrap input angle to -PI..PI

        if (t <-3.14159265){

    [...]

Posted in Math, motion | Tagged , | 2 Comments

Unique Array Comparison

CLICK HERE TO COPY
Actionscript:

function uniqueCompare(arr:Array, compare:Function):void {

    var leng:int = arr.length;

    for (var i:int = 0; i<leng; i++){

        for (var j:int = i + 1; j<leng; j++){

            compare(arr[i], arr[j]);

        }

    }

}

 

var numbers:Array = [1, 2, 3, 4, 5];

 

uniqueCompare(numbers, compareCallback);

 

function compareCallback(a:*, b:*):void [...]

Posted in arrays, misc | Tagged , | Leave a comment