<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>LETTUCE-EATER &#187; ActionScript 3.0</title>
	<atom:link href="http://lettuce-eater.com/blog/archives/tag/actionscript-3-0/feed" rel="self" type="application/rss+xml" />
	<link>http://lettuce-eater.com/blog</link>
	<description>レタス好きWEBデザイナーのログ</description>
	<lastBuildDate>Wed, 14 Sep 2016 10:54:24 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=4.1.41</generator>
	<item>
		<title>Tweenerを使って折れ線を描画する</title>
		<link>http://lettuce-eater.com/blog/archives/91</link>
		<comments>http://lettuce-eater.com/blog/archives/91#comments</comments>
		<pubDate>Tue, 17 Jan 2012 03:55:03 +0000</pubDate>
		<dc:creator><![CDATA[moroto]]></dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Tweener]]></category>

		<guid isPermaLink="false">http://lettuce-eater.com/blog/?p=91</guid>
		<description><![CDATA[as3でTweenerを使って２点間の折れ線をアニメーション描画します。 Tweenerライブラリをインポート後、Tweener動作中に呼び出される関数onUpdateと、線を描くmoveTo、lin...]]></description>
				<content:encoded><![CDATA[<p>as3で<a title="Tweener" href="http://code.google.com/p/tweener/" target="_blank">Tweener</a>を使って２点間の折れ線をアニメーション描画します。</p>
<p><span id="more-91"></span><br />
Tweenerライブラリをインポート後、Tweener動作中に呼び出される関数onUpdateと、線を描くmoveTo、lineToを使用してまずはシンプルなラインの描画。</p>
<pre class="brush: as3; title: ; notranslate">
import caurina.transitions.*;

var movePoint:Point = new Point(100,100);
var dummyShape:Shape;

Tweener.addTween(movePoint, { x:300, y:300, time:1, transition:&quot;linear&quot;, onUpdate:lineDraw});
function lineDraw(){
	if(dummyShape != null)stage.removeChild(dummyShape);
	dummyShape = new Shape();
	stage.addChild(dummyShape);

	var g = dummyShape.graphics;
	g.lineStyle (5, 0xFF6600, 1.0);
	g.moveTo (100, 100);
	g.lineTo (movePoint.x, movePoint.y);
}
</pre>
<p>TweenerでmovePointを移動させて、動作中に毎フレームmovePointのx,yに向けて線を描画します。</p>
<p><a title="Tweenerを使って線を描画するDEMO" href="http://lettuce-eater.com/blog/wp-content/uploads/2012/01/line_draw.swf" rel="shadowbox;width=400;height=400">→DEMO</a></p>
<p>Shapeを変形して線を描くのも考えたけれど、線の調整とか角丸もありlineToで進める事に。</p>
<pre class="brush: as3; title: ; notranslate">
//lineMake関数　 引数(ターゲット、時間、太さ、色、始点X、始点Y、終点X、終点Y)
lineMake(mc ,1.5 ,5 ,0xFF6600 ,0 ,0 ,100 ,100);

function lineMake(_targetMc,_time:Number,_vol:Number,_col,_startX:Number,_startY:Number,_endX:Number,_endY:Number){

	var movePoint:Point = new Point(_startX,_startY);
	var drawCount:Number = 0;
	var pointArr:Array = new Array();

	for(var i:int = 0;i &lt; 4;i++){
		//始点終点中間2点の各ポイントを配列に格納
		pointArr[i] = new Point();
		switch(i){
			case 0:
				pointArr[i].x = _startX;
				pointArr[i].y = _startY;
			break;
			case 1:
				pointArr[i].x = _startX;
				pointArr[i].y = _startY + (_endY - _startY)/2;
			break;
			case 2:
				pointArr[i].x = _endX;
				pointArr[i].y = _startY + (_endY - _startY)/2;
			break;
			case 3:
				pointArr[i].x = _endX;
				pointArr[i].y = _endY;
			break;
		}
	}

	drawCount++;
	drawFunc();

	function drawFunc(){
		var dummyShape:Shape;
		Tweener.addTween(movePoint, { x:pointArr[drawCount].x, y:pointArr[drawCount].y,time:_time/3, transition:&quot;linear&quot;,onUpdate:lineDraw,onComplete:nextFunc } );
		function lineDraw(){

			if(dummyShape != null)_targetMc.removeChild(dummyShape);
			dummyShape = new Shape();
			_targetMc.addChild(dummyShape);
			var g = dummyShape.graphics;

			g.lineStyle (_vol, _col, 1.0);
			g.moveTo (pointArr[drawCount-1].x, pointArr[drawCount-1].y);
			g.lineTo (movePoint.x, movePoint.y);
		}
		function nextFunc(){
			drawCount++;
			if(drawCount &lt; 4)drawFunc();
		}
	}
}
</pre>
<p>上記関数を使ってデモではドラッグ＆ドロップできる2点間を折れ線で繋ぎました。</p>
<p><a title="Tweenerを使って折れ線を描画するDEMO" href="http://lettuce-eater.com/blog/wp-content/uploads/2012/01/polyline_draw.swf" rel="shadowbox;width=400;height=400">→DEMO</a></p>
]]></content:encoded>
			<wfw:commentRss>http://lettuce-eater.com/blog/archives/91/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ActionScript 3.0で円グラフを描画する</title>
		<link>http://lettuce-eater.com/blog/archives/63</link>
		<comments>http://lettuce-eater.com/blog/archives/63#comments</comments>
		<pubDate>Mon, 02 Jan 2012 05:39:01 +0000</pubDate>
		<dc:creator><![CDATA[moroto]]></dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>

		<guid isPermaLink="false">http://lettuce-eater.com/blog/?p=63</guid>
		<description><![CDATA[下記サイト様の投稿を参考に、sketchbookライブラリを使用して描画。 減衰公式使ってアニメーションしました。 trick7 &#8211; sketchbookライブラリを使わせてもらう にゃあ...]]></description>
				<content:encoded><![CDATA[<p>下記サイト様の投稿を参考に、sketchbookライブラリを使用して描画。<br />
減衰公式使ってアニメーションしました。</p>
<p><a href="http://www.trick7.com/blog/2008/04/02-232733.php" title="trick7 - sketchbookライブラリを使わせてもらう" target="_blank">trick7 &#8211; sketchbookライブラリを使わせてもらう</a><br />
<a href=" http://www.project-nya.jp/modules/weblog/details.php?blog_id=1067" title="にゃあプロジェクト - ウェブログ - [AS3.0] sketchbookを試すのだ！" target="_blank">にゃあプロジェクト &#8211; ウェブログ &#8211; [AS3.0] sketchbookを試すのだ！</a></p>
<p><span id="more-63"></span></p>
<p>はじめにライブラリをインポートして、初期化する。</p>
<pre class="brush: as3; title: ; notranslate">
import sketchbook.SketchBook;
import sketchbook.display.SpriteHelper;
import sketchbook.graphics.GraphicsHelper;

//初期化
SketchBook.init(stage);
</pre>
<p>ENTER_FRAMEイベントでダミーに描画して、完了後にダミーをremoveChildする。</p>
<pre class="brush: as3; title: ; notranslate">
//描画円グラフ半径
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 &gt;= (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();
}
</pre>
<p><strong>GraphicsHelperのdrawPieメソッドの引数</strong><br />
drawPie(x位置 ,y位置 ,半径 ,描画角度 ,開始角度);</p>
<p><a title="ActionScript 3.0で円グラフを描画するDEMO" rel="shadowbox;width=400;height=400" href="http://lettuce-eater.com/blog/wp-content/uploads/2012/01/circle-graph.swf">→DEMO</a></p>
<p>Tweenerみたいに細かく時間とかイージングとか設定出来る描画ライブラリとかないもんかなぁ。</p>
]]></content:encoded>
			<wfw:commentRss>http://lettuce-eater.com/blog/archives/63/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
