Forked from: sakef's フラクタルです。 diff:1 forked from: フラクタルです。 フラクタル。 再帰の復習です。 angerfish forked:1favorite:2lines:116license : All rights reserved modified : 2009-01-20 12:51:15 Embed Tweet // forked from sake's フラクタルです。 /* フラクタル。 再帰の復習です。 */ package { import caurina.transitions.Tweener; import flash.display.Sprite; import flash.geom.Point; [SWF(width="465", height="465", backgroundColor="0xFFFFFF", frameRate="40")] public class Fractale extends Sprite { private var centerP:Point=new Point(465 / 2, 465 / 2); private var square_len:int=120; private var min_len:int=5; private var center:int=0; private var lt:int=4; private var lb:int=2; private var rt:int=3; private var rb:int=1; private var dtime:Number=0; public function Fractale() { star(centerP.x, centerP.y, square_len, center); } public function star(xx:Number, yy:Number, r:int, n:int):void { if (r > min_len) { dtime+=0.02; if (n == center) { star(xx + r, yy - r, r / 2, rb); star(xx - r, yy - r, r / 2, lb); star(xx + r, yy + r, r / 2, rt); star(xx - r, yy + r, r / 2, lt); var sp:Sprite=new Sprite; sp.graphics.beginFill(0xffffff * Math.random(), 0.5); sp.graphics.drawRect(-r, -r, 2 * r, 2 * r); sp.graphics.endFill(); addChild(sp); sp.alpha=1; sp.x=xx; sp.y=yy; sp.scaleX=0; sp.scaleY=0; Tweener.addTween(sp, {scaleX:1, scaleY:1, time:3, delay:dtime, transition:"easeOutBounce"}); } else if (n == rb) { star(xx + r, yy - r, r / 2, rb); star(xx - r, yy - r, r / 2, lb); star(xx + r, yy + r, r / 2, rt); var sp:Sprite=new Sprite; sp.graphics.beginFill(0xffffff * Math.random(), 0.5); sp.graphics.drawRect(-r, -r, 2 * r, 2 * r); sp.graphics.endFill(); addChild(sp); sp.alpha=1; sp.x=xx; sp.y=yy; sp.scaleX=0; sp.scaleY=0; Tweener.addTween(sp, {scaleX:1, scaleY:1, time:3, delay:dtime, transition:"easeOutBounce"}); } else if (n == lb) { star(xx + r, yy - r, r / 2, rb); star(xx - r, yy - r, r / 2, lb); star(xx - r, yy + r, r / 2, lt); var sp:Sprite=new Sprite; sp.graphics.beginFill(0xffffff * Math.random(), 0.5); sp.graphics.drawRect(-r, -r, 2 * r, 2 * r); sp.graphics.endFill(); addChild(sp); sp.alpha=1; sp.x=xx; sp.y=yy; sp.scaleX=0; sp.scaleY=0; Tweener.addTween(sp, {scaleX:1, scaleY:1, time:3, delay:dtime, transition:"easeOutBounce"}); } else if (n == rt) { star(xx + r, yy - r, r / 2, rb); star(xx + r, yy + r, r / 2, rt); star(xx - r, yy + r, r / 2, lt); var sp:Sprite=new Sprite; sp.graphics.beginFill(0xffffff * Math.random(), 0.5); sp.graphics.drawRect(-r, -r, 2 * r, 2 * r); sp.graphics.endFill(); addChild(sp); sp.alpha=1; sp.x=xx; sp.y=yy; sp.scaleX=0; sp.scaleY=0; Tweener.addTween(sp, {scaleX:1, scaleY:1, time:3, delay:dtime, transition:"easeOutBounce"}); } else if (n == lt) { star(xx - r, yy - r, r / 2, lb); star(xx + r, yy + r, r / 2, rt); star(xx - r, yy + r, r / 2, lt); var sp:Sprite=new Sprite; sp.graphics.beginFill(0xffffff * Math.random(), 0.5); sp.graphics.drawRect(-r, -r, 2 * r, 2 * r); sp.graphics.endFill(); addChild(sp); sp.alpha=1; sp.x=xx; sp.y=yy; sp.scaleX=0; sp.scaleY=0; Tweener.addTween(sp, {scaleX:1, scaleY:1, time:3, delay:dtime, transition:"easeOutBounce"}); } } } } } Code Fullscreen Preview Fullscreen beta_chelsea.. kazu69 : fractalfractale fractal fractale alpha scaleY scaleX Tweener.addTween time addChild Point Math.random Number Sprite int sort new page view favorite forked pv361 forked from: forked from: フラクタ.. angerfish forked:0 favorite:0lines:116 (diff:1)