forked from: flash on 2010-1-3
forked from flash on 2010-1-3 (diff: 52)
... @author kazutoyo@富山商船コンピュータ部 円を拡大してみた。
ActionScript3 source code
/**
* Copyright kazutoyo ( http://wonderfl.net/user/kazutoyo )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/kP1U
*/
// forked from hig_an's flash on 2010-1-3
package {
import flash.display.MovieClip;
import flash.display.Sprite;
import caurina.transitions.Tweener;
import flash.events.TimerEvent;
import flash.utils.Timer;
/**
* ...
* @author kazutoyo@富山商船コンピュータ部
* 円を拡大してみた。
*/
public class CircleTest extends Sprite {
private var largeCircle:MovieClip;
private const lX:int = 200;
private const lY:int = 200;
private const lR:int = 300;
public function CircleTest() {
largeCircle = new DrawCircle(lX,lY,lR,0x000000,1);
addChild(largeCircle);
var timer:Timer = new Timer(1000);
timer.addEventListener(TimerEvent.TIMER, onTimer);
timer.start();
}
private function onTimer(e:TimerEvent):void {
var sX:int = lR * Math.random();
var sY:int = lR * Math.random();
var sR:int = lR - Math.abs((sX - lX)^2+(sY - lY)^2)
var smallCircle:MovieClip = new DrawCircle(sX,sY,sR,0xffffff * Math.random(),0.4+0.6*Math.random());
largeCircle.addChild(smallCircle);
smallCircle.alpha = 0.0;
Tweener.addTween(smallCircle, {
time:1,
alpha:1.0,
scaleX:1.5,
scaleY:1.5,
transition:"easeInOutQuad"
});
Tweener.addTween(smallCircle, {
time:30,
delay:1,
alpha:0.0,
transition:"easeInOutQuad"
});
if (largeCircle.getChildIndex(smallCircle) > 30) {
largeCircle.removeChildAt(0);
}
}
}
}
import flash.display.MovieClip;
class DrawCircle extends MovieClip{
public function DrawCircle(centerX:int,centerY:int,r:int,color:int,alpha:Number){
graphics.lineStyle(10,color,alpha);
graphics.moveTo(centerX + r,centerY);
for(var i:int = 0;i<360;i++){
var radian:Number = i * Math.PI / 180;
graphics.lineTo(
centerX + r * Math.cos(radian),
centerY + r * Math.sin(radian))
}
}
}
