clouds

by Cheshir
♥0 | Line 57 | Modified 2015-04-03 02:39:13 | MIT License
play

ActionScript3 source code

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

package {
    import flash.events.Event;
    import flash.filters.GlowFilter;
    import flash.geom.Point;
    import flash.display.Sprite;
    public class FlashTest extends Sprite {
        private var clouds:Array = [];
        public function FlashTest() {
            // write as3 code here..
            
            for(var i:int=0; i<12; i++){
                var c1:Sprite = makeCloud(100+Math.random()*100, 42, 12+Math.random()*6);
                c1.x = Math.random()*(stage.stageWidth+300)-300;
                c1.y = Math.random()*stage.stageHeight;
                clouds.push(c1);
                addChild(c1);
            }

            addEventListener(Event.ENTER_FRAME, update);
        }
        private function update(e:Event):void{
            this.graphics.clear();
            this.graphics.beginFill(0x7097bf);
            this.graphics.drawRect(0,0,stage.stageWidth, stage.stageHeight);
            for(var i:int=0; i<12; i++) {
                clouds[i].x++; 
                if( clouds[i].x > stage.stageHeight + 200 ){
                    clouds[i].x = -200;
                }
            }
        }
        
        private function makeCloud(width:Number=42, height:Number=42, clod:int=12):Sprite {
            var cloud:Sprite = new Sprite();
            var cloudMake:Array = [];
            var cl:int = clod;
            for(var i:int=0; i<cl; i++) {    // Background 
                cloudMake.push( {x:Math.random()*width, y:Math.random()*height, rad:Math.random()*height+12} );
                cloud.graphics.beginFill(0xacacdd);
                cloud.graphics.drawCircle(cloudMake[i].x, cloudMake[i].y, cloudMake[i].rad);
                cloud.graphics.endFill();
            }
            for(var j:int=0; j<cl; j++){    // Background 2
                cloud.graphics.beginFill(0xcdcdff);
                cloud.graphics.drawCircle(cloudMake[j].x+1, cloudMake[j].y+2, cloudMake[j].rad-1);
                cloud.graphics.endFill();
            }
            for(var k:int=0; k<cl/2; k+=2){ // Foreground
                cloud.graphics.beginFill(0xdfdfff);
                cloud.graphics.drawCircle(cloudMake[k].x+4, cloudMake[k].y+3, cloudMake[k].rad-3);
                cloud.graphics.endFill();
            }
            for(var m:int=1; m<cl/2; m+=2){ // Foreground 2
                cloud.graphics.beginFill(0xfdfdff);
                cloud.graphics.drawCircle(cloudMake[m].x+4, cloudMake[m].y+3, cloudMake[m].rad-10);
                cloud.graphics.endFill();
            }
            return cloud;
        }
    }
}