flash on 2012-10-17

by mutantleg
♥0 | Line 78 | Modified 2012-10-17 21:24:18 | MIT License
play

ActionScript3 source code

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

package {
    import flash.display.AVM1Movie;
    import flash.geom.Vector3D;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        
        public function FlashTest() {
        
            var h:Number;
            var s:Number;
            var v:Number;
            s = 0.5
            v = 0.5;
            h = 0;
            
            var i:int;
            var k:int;
            var c:int;
            
            graphics.clear();
            for (i = 0; i < 20; i++)
            {
                h += 0.05;
                v = 0.01;
                s = 1;
                for (k = 0; k < 10; k++)
                {
                    s -= 0.05; //Math.random() *0.09;
                    v += 0.1;
                    if (v > 1) { v = 1;}
                    graphics.beginFill(hsv2rgb(h,s,v),1);
                        graphics.drawRect(32+i*16, 32+k*16, 16, 16);
                
                    graphics.endFill();
                }//nextk
            }//nexti
            
        }//ctor
        
        //source
        //http://stackoverflow.com/questions/2353211/hsl-to-rgb-color-conversion
        public function hsv2rgb(h:Number, s:Number, v:Number):uint
         {
             if (h < 0) { h = 0;}
             if (h > 1) { h = 1;}
             
             var r:Number;
             var g:Number;
             var b:Number;
             var ret:uint;
             
             
                h = (h % 1 + 1) % 1; // wrap hue

            var i:Number;
            var f:Number;
            var p:Number;
            var q:Number;
            var t:Number;
             
                i = Math.floor(h * 6),
                f = h * 6 - i,
                p = v * (1 - s),
                q = v * (1 - s * f),
                t = v * (1 - s * (1 - f));

            switch (i) {
                case 0:
                r = v; g = t; b = p; 
                //return [v, t, p]; 
                break;
                
                case 1: 
                r = q; g = v; b = p;
               // return [q, v, p]; 
                break;
                
                case 2: 
                r = p; g = v; b = t;
                //return [p, v, t]; 
                break;
                
                case 3: 
                r = p; g = q; b = v;
                //return [p, q, v]; 
                break;
                
                case 4: 
                r = t; g = p; b = v;
                //return [t, p, v];
                 break;
                 
                case 5: 
                r = v; g = p; b = q;
                //return [v, p, q]; 
                break;
            }//swend
                
                ret = (r*255) << 16
                    | (g*255) << 8
                    | (b*255) << 0
                    
               return ret;
        }//hsv2rgb

        
        
    }//classend
}