List shuffle and wonderfl's dimensions, subpixels

by aobyrne forked from List shuffle & wonderfl's dimensions (diff: 9)
subpixels
♥0 | Line 49 | Modified 2011-04-03 16:01:48 | MIT License
play

ActionScript3 source code

/**
 * Copyright aobyrne ( http://wonderfl.net/user/aobyrne )
 * MIT License ( http://www.opensource.org/licenses/mit-license.php )
 * Downloaded from: http://wonderfl.net/c/tx9m
 */

// forked from aobyrne's List shuffle & wonderfl's dimensions
// forked from aobyrne's List shuffle
// forked from komatsu's RandomNumber on 2010-01-26
package {
    import flash.text.TextField;
    import flash.display.Sprite;
    import caurina.transitions.Tweener;
    [SWF(backgroundColor="#000000", frameRate=30)]
    
    public class RamdomRectangle extends Sprite {
        public function RamdomRectangle() {
            var rndAry:Array = new Array();
            var gridSize:int = 20;
            const MAX_CNT:uint = gridSize*gridSize;
            const WONDERFL_DIMENSIONS:int = 465;
            var i:uint;
            for(i=1;i<=MAX_CNT;i++){
                    rndAry.push(i);
            }
            rndAry = Shuffle.setRandom(rndAry);
            var columns:int = gridSize;
            var squareSize:Number = WONDERFL_DIMENSIONS/gridSize;
            for(i=0;i<MAX_CNT;i++){
                        var sp:Sprite = new Sprite();
                        sp.graphics.beginFill(Math.random()*0xFFFFFF);
                        sp.graphics.drawRect(0,0,squareSize,squareSize);
                        sp.x = sp.width*(i%columns);
                        sp.y = sp.height*(Math.floor(i/columns));    
                        if(i==MAX_CNT-1){
                        var tf:TextField = new TextField();
                        tf.text = String(squareSize);
                        //tf.scaleX = tf.scaleY = 5
                        sp.addChild(tf);
                        }
                        sp.alpha = 0;
                        Tweener.addTween(sp , {alpha:1 , delay:(i+1)/60,time:5});
                        
                        
                        addChild(sp);
            }
        }
    }
}

class Shuffle{
    /*配列のシャッフルをする関数*/    
    static public function setRandom(ary:Array):Array{
        var baseAry:Array = ary;
        var returnAry:Array = new Array();
        var rndCnt:uint = ary.length;
        
        for(var i:uint=0;i<rndCnt;i++){
            var rnd:uint = Math.floor(Math.random()*baseAry.length);
            returnAry.push(baseAry[rnd]);
            baseAry.splice(rnd,1);
        }
        return returnAry;
    }
}