forked from: forked from: forked from: 図形を描こう(放射状の線)
forked from forked from: forked from: 図形を描こう(放射状の線) (diff: 22)
... @author umhr
ActionScript3 source code
/**
* Copyright umhr ( http://wonderfl.net/user/umhr )
* MIT License ( http://www.opensource.org/licenses/mit-license.php )
* Downloaded from: http://wonderfl.net/c/35vW
*/
// forked from umhr's forked from: forked from: 図形を描こう(放射状の線)
// forked from umhr's forked from: 図形を描こう(放射状の線)
package
{
import flash.events.MouseEvent;
import flash.display.Sprite;
import org.libspark.betweenas3.BetweenAS3;
import org.libspark.betweenas3.easing.*;
import org.libspark.betweenas3.tweens.ITween;
/**
* ...
* @author umhr
*/
public class Main extends Sprite
{
private var _dummy:Sprite = new Sprite();
private var _line:Sprite = new Sprite();
public function Main():void
{
_dummy.graphics.beginFill(0xFF0000, 0.5);
_dummy.graphics.drawRect(0, 0, 10, 10);
_dummy.graphics.endFill();
addChild(_dummy);
_line.x = 232;
_line.y = 232;
this.addChild(_line);
stage.addEventListener(MouseEvent.CLICK,onClick);
onClick(null);
}
private function onClick(event:MouseEvent):void{
var t:ITween;
t = BetweenAS3.tween(_dummy, { x:100 },{x:0}, 5 , Elastic.easeOut);
t.onUpdate = onUpdate;
t.play();
}
private function onUpdate():void {
_line.graphics.clear();
_line.graphics.lineStyle(0, 0xFF00FF);
var length:Number = _dummy.x + 100;
var n:int = 36;
for (var i:int = 0; i < n; i++) {
_line.graphics.moveTo(0, Math.sin(10 * i * Math.PI / 180) * _dummy.x);
_line.graphics.lineTo(Math.cos(10 * i * Math.PI / 180) * length, Math.sin(10 * i * Math.PI / 180) * length);
}
}
}
}
