Recursive Circles
/**
* Copyright Maik.Foto1 ( http://wonderfl.net/user/Maik.Foto1 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/j3OB
*/
package {
import flash.display.Sprite;
import flash.events.Event;
import flash.events.MouseEvent;
import flash.events.EventDispatcher;
import flash.display.MovieClip;
import caurina.transitions.Tweener;
public class RecursiveCircles extends Sprite {
public function RecursiveCircles() {
// write as3 code here..
var sW:Number = stage.stageWidth;
var sH:Number = stage.stageHeight;
var main:MovieClip = new MovieClip();
main.x = sW/2;
main.y = sH/2;
addChild(main);
var centerX:Number = sW/2;
var centerY:Number = sH/2;
var seedColor:uint = 0xCCCCCC;
var seed:Number = sW/2;
var incrementoTween:Number = 4;
var sphere:MovieClip = new MovieClip();
sphere.graphics.beginFill(seedColor,1);
sphere.graphics.drawCircle(0,0,seed);
sphere.graphics.endFill();
main.addChild(sphere);
inside(seed,0,0,seedColor);
addEventListener(MouseEvent.MOUSE_DOWN,movimiento);
//addEventListener(MouseEvent.MOUSE_WHEEL,movimiento);
function inside(seedW:Number,sX:Number,sY:Number,col:uint):void{
var newSeed:Number = seedW/4;
var colorInc:uint = 0x111100;
var new_cx1:Number = sX-(newSeed*2);
var new_cx2:Number = sX+(newSeed*2);
var new_cy1:Number = sY-(newSeed*2);
var new_cy2:Number = sY+(newSeed*2);
var seedX:Number = 0;
var seedY:Number = 0;
var newColor:uint = seedColor-colorInc;
seedColor = newColor;
var n_sphere1:MovieClip = new MovieClip();
n_sphere1.graphics.beginFill(newColor,1);
n_sphere1.graphics.drawCircle(new_cx1,sY,newSeed);
n_sphere1.graphics.endFill();
main.addChild(n_sphere1);
var n_sphere2:MovieClip = new MovieClip();
n_sphere2.graphics.beginFill(newColor,1);
n_sphere2.graphics.drawCircle(new_cx2,sY,newSeed);
n_sphere2.graphics.endFill();
main.addChild(n_sphere2);
var n_sphere3:MovieClip = new MovieClip();
n_sphere3.graphics.beginFill(newColor,1);
n_sphere3.graphics.drawCircle(sX,sY,newSeed);
n_sphere3.graphics.endFill();
main.addChild(n_sphere3);
var n_sphere4:MovieClip = new MovieClip();
n_sphere4.graphics.beginFill(newColor,1);
n_sphere4.graphics.drawCircle(sX,new_cy1,newSeed);
n_sphere4.graphics.endFill();
main.addChild(n_sphere4);
var n_sphere5:MovieClip = new MovieClip();
n_sphere5.graphics.beginFill(newColor,1);
n_sphere5.graphics.drawCircle(sX,new_cy2,newSeed);
n_sphere5.graphics.endFill();
main.addChild(n_sphere5);
var n_sphere6:MovieClip = new MovieClip();
n_sphere6.graphics.beginFill(newColor,1);
n_sphere6.graphics.drawCircle(new_cx2,new_cy2,newSeed);
n_sphere6.graphics.endFill();
main.addChild(n_sphere6);
var n_sphere7:MovieClip = new MovieClip();
n_sphere7.graphics.beginFill(newColor,1);
n_sphere7.graphics.drawCircle(new_cx1,new_cy1,newSeed);
n_sphere7.graphics.endFill();
main.addChild(n_sphere7);
var n_sphere8:MovieClip = new MovieClip();
n_sphere8.graphics.beginFill(newColor,1);
n_sphere8.graphics.drawCircle(new_cx1,new_cy2,newSeed);
n_sphere8.graphics.endFill();
main.addChild(n_sphere8);
var n_sphere9:MovieClip = new MovieClip();
n_sphere9.graphics.beginFill(newColor,1);
n_sphere9.graphics.drawCircle(new_cx2,new_cy1,newSeed);
n_sphere9.graphics.endFill();
main.addChild(n_sphere9);
if(newSeed > 1){
inside(newSeed,new_cx1,sY,newColor);
inside(newSeed,new_cx2,sY,newColor);
inside(newSeed,sX,new_cy1,newColor);
inside(newSeed,sX,new_cy2,newColor);
inside(newSeed,sX,sY,newColor);
inside(newSeed,new_cx1,new_cy1,newColor);
inside(newSeed,new_cx2,new_cy1,newColor);
inside(newSeed,new_cx1,new_cy2,newColor);
inside(newSeed,new_cx2,new_cy2,newColor);
}
}
function movimiento(e:MouseEvent):void{
//main.scaleX *= 1.618;
//main.scaleY *= 1.618;
// Tweener.addTween(main,{scaleX:main.scaleX*(e.delta/10), scaleY:main.scaleY*(e.delta/10), rotation:main.rotation+e.delta, time:1, transition:"esaOut"});
for(var n:Number = 0; n < main.numChildren; n++){
var temp:MovieClip = main.getChildAt(n) as MovieClip;
var val:Number = temp.scaleY*4;
temp.scaleX *= 4;
temp.scaleY *= 4;
//Tweener.addTween(temp,{scaleX:val, scaleY:val, time:1, transition:"easeOut"});
if(temp.scaleX > 4){
main.removeChild(temp);
}
}
var incColor:uint = (0x111100)*2;
var nuColor:uint = (0xCCCCCC)+incColor;
inside(seed,0,0,nuColor);
}
;
}
}
}