flash on 2015-8-29

by mutantleg
♥0 | Line 66 | Modified 2015-08-29 23:00:43 | 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/m08P
 */

package {
    import flash.events.MouseEvent;
    import flash.text.TextField;
    import flash.events.Event;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        public function FlashTest() {
       
            deb = new TextField();
            deb.mouseEnabled = false;
            deb.width=320; deb.height=240;
            addChild(deb);
       
            stage.addEventListener(MouseEvent.CLICK, onClick);
            stage.addEventListener(Event.ENTER_FRAME, onEnter);
        }//ctor
        
        public var deb:TextField;
 
        public var cm:int = 0;
        public function onClick(e:MouseEvent):void
        {
            cm = (cm == 0) ? 1 : 0;
            
            if (cm == 0)
            { v0 = Math.random();     v1 = Math.random();     v2 = Math.random();    }
            else
            { m0 = Math.random();    m1 = Math.random();   m2 = Math.random();   }
         
        }//onclick
         
 
 
 
        public var v0:Number = 1;
        public var v1:Number = 0;
        public var v2:Number = 0;
        
        public var m0:Number = 0;
        public var m1:Number = 0;
        public var m2:Number = 1;
       
        public function getCol(r:Number, g:Number, b:Number):uint
        {
           var c:uint;
            c = ((r * 255) << 16)  | ((g * 255) << 8) | ((b * 255));
           return c;
        }//getcol
       
        public function onEnter(e:Event):void
        {
            graphics.clear();
            graphics.lineStyle(2, 0);
            
            var c:uint;
            c = getCol(v0,v1,v2);
            
            //deb.text = "C: " + c;
         
             graphics.beginFill(c, 1);
              graphics.drawCircle(64,64, 40);
             graphics.endFill();
          
            c = getCol(m0,m1,m2);           
             graphics.beginFill(c, 1);
              graphics.drawCircle(64+256,64, 40);
             graphics.endFill();
            
            
            graphics.lineStyle();
            var kx:Number; var ky:Number; var kz:Number;
            var i:int;         var t:Number;
            for (i=0;i<256;i+=1)
            {
                t = i / 256;
                
                kx = v0 + (m0-v0) * t;
                ky = v1 + (m1-v1) * t;
                kz = v2 + (m2-v2) * t;

              c = getCol(kx,ky,kz);           
               graphics.beginFill(c, 1);                
                 graphics.drawRect(i+64, 128+ky*16, 1, 128);
               graphics.endFill();
                
            }//nexti
            
            
            
        }//onenter 
        
        
        
        
    }//classend
}