Rose Animation2
前回のバラ曲線のアニメーションをラインのみにした
/**
* Copyright 178ep3 ( http://wonderfl.net/user/178ep3 )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/2dWL
*/
// forked from 178ep3's Rose Animation
// 前回のバラ曲線のアニメーションをラインのみにした
package
{
import flash.display.Sprite;
import flash.events.Event;
[SWF(width=465, height=465, frameRate=30, backgroundColor=0x000000)]
public class RoseAni extends Sprite
{
private var _rose:Rose;
private var _n:Number=1;
private var _d:uint=1;
public function RoseAni()
{
_rose = addChild(new Rose(200))as Rose;
_rose.x = stage.stageWidth/2;
_rose.y = stage.stageHeight/2;
addEventListener(Event.ENTER_FRAME,loop);
}
private function loop(e:Event):void
{
_rose.upD(_n,_d);
_n += 0.01;
if(_n>=8)
{
_n = 1;
_d++;
if(_d>=8)_d=1;
}
}
}
}
import flash.display.Shape;
class Rose extends Shape
{
private var _rad:Number;
public function Rose(radius:Number)
{
_rad = radius;
}
public function upD(n:Number,d:uint):void
{
var c:Number = n/d;
this.graphics.clear();
this.graphics.lineStyle(1,0xffffff);
this.graphics.moveTo(0,0);
for(var i:uint=0; i<360*d; i++)
{
var rad:Number = i * Math.PI /180;
var v:Number = Math.sin(c * rad);
var r:Number = _rad * v;
var x:Number = r * Math.cos(rad);
var y:Number = r * Math.sin(rad);
this.graphics.lineTo(x,y);
}
this.graphics.endFill();
}
}