ActionScript 3.0で円グラフを描画する
2012年1月2日 月曜日
下記サイト様の投稿を参考に、sketchbookライブラリを使用して描画。
減衰公式使ってアニメーションしました。
trick7 – sketchbookライブラリを使わせてもらう
にゃあプロジェクト – ウェブログ – [AS3.0] sketchbookを試すのだ!
はじめにライブラリをインポートして、初期化する。
import sketchbook.SketchBook; import sketchbook.display.SpriteHelper; import sketchbook.graphics.GraphicsHelper; //初期化 SketchBook.init(stage);
ENTER_FRAMEイベントでダミーに描画して、完了後にダミーをremoveChildする。
//描画円グラフ半径
var inside:Number = 100;
//描画開始角度
var startNum:Number = 0;
//描画角度量
var volNum:Number = 120;
//描画アニメーション用数値
var drawNum:Number = 0;
//完成図までの表示用
var dummyMc:MovieClip = new MovieClip();
addEventListener( Event.ENTER_FRAME, Ef);
function Ef(e:Event):void {
//描画角度を減衰で計算
drawNum += (volNum - drawNum)/5;
//Shapeクラス
var pie:Shape = new Shape();
//GraphicsHelperクラス
var helper:GraphicsHelper = new GraphicsHelper(pie.graphics);
helper.beginFill(0xFFCC00);
if (drawNum >= (volNum - 1)) {
//実行中のイベント、ムービークリップを破棄
removeEventListener(Event.ENTER_FRAME, arguments.callee);
removeChild(dummyMc);
//完成の図形
addChild(pie);
helper.lineStyle (1, 0xFF6600, 1.0);
helper.drawPie(0, 0, inside,volNum,(startNum - 90));
}else {
//途中経過の図形
dummyMc.addChild(pie);
helper.lineStyle (1, 0xFF6600, 1.0);
helper.drawPie(0, 0, inside,drawNum,(startNum - 90));
}
helper.endFill();
}
GraphicsHelperのdrawPieメソッドの引数
drawPie(x位置 ,y位置 ,半径 ,描画角度 ,開始角度);
Tweenerみたいに細かく時間とかイージングとか設定出来る描画ライブラリとかないもんかなぁ。
(Visited 844 times, 1 visits today)
トラックバック
トラックバックURL
http://lettuce-eater.com/blog/archives/63/trackback