<?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>blog ViolentCoding &#187; source</title>
	<atom:link href="http://violentcoding.com/blog/tag/source/feed" rel="self" type="application/rss+xml" />
	<link>http://violentcoding.com/blog</link>
	<description>for more violent coder</description>
	<lastBuildDate>Tue, 18 Aug 2009 06:11:32 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>[Flash]GetLibraryItemClass version 1.1.0</title>
		<link>http://violentcoding.com/blog/2009/01/09/archives/507</link>
		<comments>http://violentcoding.com/blog/2009/01/09/archives/507#comments</comments>
		<pubDate>Thu, 08 Jan 2009 16:53:13 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[JSFL]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[SparkProject]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/2009/01/09/archives/507</guid>
		<description><![CDATA[
「ライブラリの中でクラスが設定されているやつを調べる」JSFLコマンド「GetLibraryItemClass」を更新しました。


  [Flash]ライブラリの中でクラスが設定されているやつを調べる &#124; blog  [...]]]></description>
			<content:encoded><![CDATA[<p>
「ライブラリの中でクラスが設定されているやつを調べる」JSFLコマンド「GetLibraryItemClass」を更新しました。
</p>
<blockquote><p>
  <strong>[Flash]ライブラリの中でクラスが設定されているやつを調べる | blog ViolentCoding</strong><br />
  <a href="http://violentcoding.com/blog/2008/10/12/archives/355">http://violentcoding.com/blog/2008/10/12/archives/355</a>
</p></blockquote>
<p>&nbsp;</p>
<p>
ごめんなさい、フォントシンボルの出力が抜けてましたよ。<br />
で、フォントシンボルの出力を追加してアップデートしたのです。
</p>
<p>&nbsp;</p>
<p>
新しいバージョン Version 1.1.0をSpark projectにコミットしたのでダウンロードしてください。
</p>
<p>
<strong>GetLibraryItemClass &#8211; Spark project</strong><br />
<a href="http://www.libspark.org/wiki/e_s_jp/GetLibraryItemClass">http://www.libspark.org/wiki/e_s_jp/GetLibraryItemClass</a>
</p>
<p>
<img src="http://violentcoding.com/blog/wp-content/uploads/2009/01/glic110.png" alt="GetLibraryItemClass ver 1.1.0" title="GetLibraryItemClass_ver1_1_0" width="313" height="247" class="size-full wp-image-509" />
</p>
<p>&nbsp;</p>
<hr />
<h2>GetLibraryItemClassコマンド　ダウンロード</h2>
<p><strong>GetLibraryItemClass.mxp</strong><br />
<a href="http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/mxp/GetLibraryItemClass.mxp">http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/mxp/GetLibraryItemClass.mxp</a></p>
<p>Flash CS3 以降用です。<br />
※インストールにはExtension Managerが必要。</p>
<h2>利用方法</h2>
<p>「コマンド」メニュー ＞ GetLibraryItemClass</p>
<h2>ソースリポジトリ</h2>
<p><strong>GetLibraryItemClass ソース</strong><br />
<a href="http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/src/">http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/src/</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2009/01/09/archives/507/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]ライブラリの中でクラスが設定されているやつを調べる</title>
		<link>http://violentcoding.com/blog/2008/10/12/archives/355</link>
		<comments>http://violentcoding.com/blog/2008/10/12/archives/355#comments</comments>
		<pubDate>Sat, 11 Oct 2008 16:54:14 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[JSFL]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[SparkProject]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/?p=355</guid>
		<description><![CDATA[
他の人が作った.flaファイルを見たりしなきゃいけない場合・・・の第２弾。

&#160;

ASファイルを見てる場合、Flashのライブラリでクラス設定されたものって気づきづらかったりします。


var init_ [...]]]></description>
			<content:encoded><![CDATA[<p>
他の人が作った.flaファイルを見たりしなきゃいけない場合・・・の第２弾。
</p>
<p>&nbsp;</p>
<p>
ASファイルを見てる場合、Flashのライブラリでクラス設定されたものって気づきづらかったりします。
</p>
<p><pre>
var init_mc : MovieClip = new InitView();
var myMap : BitmapData = new EffectMap(0, 0);
</pre>
<p>上記みたいなコードがあった場合、InitView.as、EffectMap.asでクラス定義されてると思ってASファイルを探してみても、Flashのライブラリでクラス設定されていたら、そんなファイルは見つかりません。
</p>
<p>&nbsp;</p>
<p>
で、ライブラリの中でクラスが設定されているやつを調べるJSFL。
</p>
<p>&nbsp;</p>
<p>
2009/01/09追記<br />
fontの出力が抜けていたので追加し、Version 1.1.0に更新。
</p>
<p>&nbsp;</p>
<p>
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/10/glic110.png" alt="GetLibraryItemClass" title="GetLibraryItemClass" width="313" height="247" class="aligncenter size-full wp-image-364" />
</p>
<p>
クラス設定されてるライブラリのみを対象に、クラスとか基本クラス（AS3）、識別子（AS2）などの一覧を出力パネルに書き出すコマンドです。
</p>
<p>&nbsp;</p>
<p>
<strong>GetLibraryItemClass &#8211; Spark project</strong><br />
<a href="http://www.libspark.org/wiki/e_s_jp/GetLibraryItemClass">http://www.libspark.org/wiki/e_s_jp/GetLibraryItemClass</a>
</p>
<hr />
<p>&nbsp;</p>
<p><h2>出力パネル例（ActionScript 3.0の場合）</h2>
<pre>
Get Library Item Class Command
mySample.fla
Oct. 11, 2008 23:57:12

ActionScript 3.0
Document Class:	MainClass
**************************************************

Library Item:	initMC
Class:		InitView
BaseClass:		flash.display.MovieClip
Item Type:		movie clip
--------------------------------------------------

Library Item:	nextBtn
Class:		NextButton
BaseClass:		flash.display.SimpleButton
Item Type:		button
--------------------------------------------------

Library Item:	baseMC
Class:		BaseView
BaseClass:		flash.display.MovieClip
Item Type:		movie clip
--------------------------------------------------

Library Item:	parts/ColorPicker
Class:		fl.controls.ColorPicker
BaseClass:		flash.display.Sprite
Item Type:		component
--------------------------------------------------

Library Item:	parts/CheckBox
Class:		fl.controls.CheckBox
BaseClass:		flash.display.MovieClip
Item Type:		component
--------------------------------------------------

Library Item:	parts/hit.mp3
Class:		SESound
BaseClass:		flash.media.Sound
Item Type:		sound
--------------------------------------------------

Library Item:	parts/map.png
Class:		EffectMap
BaseClass:		flash.display.BitmapData
Item Type:		bitmap
--------------------------------------------------

Library Item:	fonts/font_Arial_12
Class:		MainFont
BaseClass:		flash.text.Font
Item Type:		font
--------------------------------------------------
</pre>
</p>
<p>&nbsp;</p>
<p><h2>出力パネル例（ActionScript 2.0の場合）</h2>
<pre>
Get Library Item Class Command
mySample.fla
Oct. 11, 2008 23:57:12

ActionScript 2.0
**************************************************

Library Item:	initMC
Identifier:		initMC
Class:		InitView
Item Type:		movie clip
--------------------------------------------------

Library Item:	nextBtn
Identifier:		nextBtn
Class:
Item Type:		button
--------------------------------------------------
</pre>
<p>といった、具合を出力パネルに書き出す。
</p>
<p>&nbsp;</p>
<p><h2>Save the result in a file</h2>
<p>「Save the result in a file」は出力パネルの内容をファイルに保存するかどうか。<br />
チェックした場合は、ファイル選択ダイアログが開きます。
</p>
<hr />
<p>&nbsp;</p>
<h2>GetLibraryItemClassコマンド　ダウンロード</h2>
<p>
<strong>GetLibraryItemClass.mxp</strong><br />
<a href="http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/mxp/GetLibraryItemClass.mxp ">http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/mxp/GetLibraryItemClass.mxp </a>
</p>
<p>
Flash CS3 以降用です。<br />
※インストールにはExtension Managerが必要。
</p>
<p>&nbsp;</p>
<h2>利用方法</h2>
<p>
「コマンド」メニュー ＞ GetLibraryItemClass
</p>
<p>&nbsp;</p>
<h2>ソースリポジトリ</h2>
<p>
<strong>GetLibraryItemClass ソース</strong><br />
<a href="http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/src/">http://www.libspark.org/svn/mxp/GetLibraryItemClass/trunk/src/</a>
</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/10/12/archives/355/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]フレームに書いてあるASを出力するコマンド</title>
		<link>http://violentcoding.com/blog/2008/08/23/archives/279</link>
		<comments>http://violentcoding.com/blog/2008/08/23/archives/279#comments</comments>
		<pubDate>Fri, 22 Aug 2008 16:47:02 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[JSFL]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[SparkProject]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/?p=279</guid>
		<description><![CDATA[
ライブラリの中でASが書いてあるやつを調べるJSFLをTanablogさんで改良してくれたので、さらに勝手に改良して、「フレームに書いてあるASを調べる」コマンドに整理した。

Tanablog: &#8220;ライブ [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://violentcoding.com/blog/2008/08/05/archives/207">ライブラリの中でASが書いてあるやつを調べるJSFL</a>をTanablogさんで改良してくれたので、さらに勝手に改良して、「フレームに書いてあるASを調べる」コマンドに整理した。</p>
<blockquote><p>
<strong>Tanablog: &#8220;ライブラリの中でASが書いてあるやつを調べる&#8221; を改良した</strong><br />
<a href="http://bitmap.dyndns.org/blog/archives/001602.html">http://bitmap.dyndns.org/blog/archives/001602.html</a>
</p></blockquote>
<p>&nbsp;</p>
<p>
Tanablogさんが改良した、現在編集中のタイムラインにあるASも出力する機能に、メインタイムライン（シーン）のASを区別して書き出す機能をミックスし、オブション設定なども追加。</p>
<p><img src="http://violentcoding.com/blog/wp-content/uploads/2008/08/gfa01.png" alt="GetFrameActionScript" title="GetFrameActionScript" width="265" height="227" class="aligncenter size-full wp-image-300" />
</p>
<hr />
<p><h2>All items Mode</h2>
<p>メインタイムライン（シーン 1、シーン 2、・・・）と、ライブラリアイテムの全てをチェックして出力。</p>
<pre>
Get Frame ActionScript Command
Main.fla
Aug. 23, 2008 0:30:57

##################################################
	 Main.fla : シーン 1
	 Layer:[ レイヤー 2 ], Frame:[ 5 ]
##################################################

trace("loaded");

##################################################
	 Main.fla : シーン 2
	 Layer:[ レイヤー 1 ], Frame:[ 23 ]
##################################################

// シーン 2終了
this.stop();

##################################################
	 parts/シンボル 7
	 Layer:[ レイヤー 2 ], Frame:[ 1 ]
##################################################

stop();

function hoge() :void {
    trace("hoge");
}

##################################################
	 parts/シンボル 7
	 Layer:[ レイヤー 2 ], Frame:[ 10 ]
##################################################

gotoAndPlay(2);

##################################################
	 シンボル 6
	 Layer:[ レイヤー 2 ], Frame:[ 1 ]
##################################################

trace("init");
stop();

##################################################
</pre>
<p>&nbsp;</p>
<p><h2>Current timeline Mode</h2>
<p>現在編集中のタイムラインのみを対象として出力。</p>
<pre>
Get Frame ActionScript Command
Main.fla
Aug. 23, 2008 0:40:6

##################################################
	 Current timeline(シーン 2)
	 Layer:[ レイヤー 1 ], Frame:[ 23 ]
##################################################

// シーン 2終了
this.stop();

##################################################
</pre>
<p>とか、シンボル編集中の場合には、</p>
<pre>
##################################################
	 Current timeline(シンボル 7)
	 Layer:[ レイヤー 2 ], Frame:[ 1 ]
##################################################

stop();

function hoge() :void {
    trace("hoge");
}

##################################################
	 Current timeline(シンボル 7)
	 Layer:[ レイヤー 2 ], Frame:[ 10 ]
##################################################

gotoAndPlay(2);

##################################################
</pre>
<p>といった、具合を出力パネルに書き出す。
</p>
<p>&nbsp;</p>
<p><h2>Output ActionScript code</h2>
<p>「Output ActionScript code」のチェックはASコード内容出力のある/なし。
</p>
<p>&nbsp;</p>
<p><h2>Save the result in a file</h2>
<p>「Save the result in a file」は出力パネルの内容をファイルに保存するかどうか。チェックした場合は、ファイル選択ダイアログが開きます。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/08/gfa02.png" alt="Choose output file" title="Choose output file" width="320" height="152" class="aligncenter size-full wp-image-305" />
</p>
<p>&nbsp;</p>
<p>この合作？を<a href="http://www.libspark.org/">Spark project</a>にコミットしたのでバシバシ改良してください。</p>
<p>
<strong>GetFrameActionScript &#8211; Spark project</strong><br />
<a href="http://www.libspark.org/wiki/e_s_jp/GetFrameActionScript">http://www.libspark.org/wiki/e_s_jp/GetFrameActionScript</a>
</p>
<hr />
<p>&nbsp;</p>
<h2>GetFrameActionScriptコマンド　ダウンロード</h2>
<p>
<strong>GetFrameActionScript.mxp</strong><br />
<a href="http://www.libspark.org/svn/mxp/GetFrameActionScript/trunk/mxp/GetFrameActionScript.mxp ">http://www.libspark.org/svn/mxp/GetFrameActionScript/trunk/mxp/GetFrameActionScript.mxp </a>
</p>
<p>
Flash 8 以降用です。<br />
※インストールにはExtension Managerが必要。
</p>
<p>&nbsp;</p>
<h2>利用方法</h2>
<p>
「コマンド」メニュー ＞ GetFrameActionScript
</p>
<p>&nbsp;</p>
<h2>ソースリポジトリ</h2>
<p>
<strong>GetFrameActionScript ソース</strong><br />
<a href="http://www.libspark.org/svn/mxp/GetFrameActionScript/trunk/src/">http://www.libspark.org/svn/mxp/GetFrameActionScript/trunk/src/</a>
</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/08/23/archives/279/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]ライブラリの中でASが書いてあるやつを調べる（２）</title>
		<link>http://violentcoding.com/blog/2008/08/06/archives/244</link>
		<comments>http://violentcoding.com/blog/2008/08/06/archives/244#comments</comments>
		<pubDate>Tue, 05 Aug 2008 15:21:56 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[JSFL]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/?p=244</guid>
		<description><![CDATA[
ライブラリの中でASが書いてあるシンボルをチェックするJSFLの修正。


[Flash]ライブラリの中でASが書いてあるやつを調べる
http://violentcoding.com/blog/2008/08/05/ [...]]]></description>
			<content:encoded><![CDATA[<p>
ライブラリの中でASが書いてあるシンボルをチェックするJSFLの修正。
</p>
<p>
<strong>[Flash]ライブラリの中でASが書いてあるやつを調べる</strong><br />
<a href="http://violentcoding.com/blog/2008/08/05/archives/207">http://violentcoding.com/blog/2008/08/05/archives/207</a>
</p>
<p>&nbsp;</p>
<p>
タイムライン上でASが書かれたフレームを取得するJSFLが思ってた内容では無くて、少し困ってました。
</p>
<p>&nbsp;</p>
<p>
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/08/fla_tl01.png" alt="timeline 01" title="fla_timeline01" width="330" height="91" class="aligncenter size-full wp-image-245" /></p>
<p>こんな感じで普通に5フレーム目「trace(&#8221;frame 5&#8243;);」と10フレーム目「trace(&#8221;frame 10&#8243;);」にASを書いた場合、JSFLの frame.actionScript でフレームに記述されたActionScriptを取得しようとする。</p>
<pre class="brush: jscript;">
var targetLayer = fl.getDocumentDOM().getTimeline().layers[0];

// 5フレーム目
var asCode05 = targetLayer.frames[4].actionScript; // =&gt; trace(&quot;frame 5&quot;);
// 10フレーム目
var asCode10 = targetLayer.frames[9].actionScript; // =&gt; trace(&quot;frame 10&quot;);
</pre>
</p>
<p>
これはこれで良いのだけど、実は5フレーム目以降でも途中にキーフレームが無いと、その前のキーフレームに書かれた内容を actionScript プロパティとして持っている。</p>
<pre class="brush: jscript;">
var targetLayer = fl.getDocumentDOM().getTimeline().layers[0];

// 5フレーム目
var asCode05 = targetLayer.frames[4].actionScript; // =&gt; trace(&quot;frame 5&quot;);

// 6フレーム目
var asCode06 = targetLayer.frames[5].actionScript; // =&gt; trace(&quot;frame 5&quot;);
// 7フレーム目
var asCode07 = targetLayer.frames[6].actionScript; // =&gt; trace(&quot;frame 5&quot;);
// 8フレーム目
var asCode08 = targetLayer.frames[7].actionScript; // =&gt; trace(&quot;frame 5&quot;);
// 9フレーム目
var asCode09 = targetLayer.frames[8].actionScript; // =&gt; trace(&quot;frame 5&quot;);

// 10フレーム目
var asCode10 = targetLayer.frames[9].actionScript; // =&gt; trace(&quot;frame 10&quot;);
</pre>
<p>これだと、ASが書かれたフレームだけをしっかり区別できないのです。下みたいに6から9フレームも空白キーフレームになってれば、区別できるのですが、普通こんなことしませんし。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/08/fla_tl02.png" alt="timeline 02" title="fla_tl02" width="330" height="91" class="aligncenter size-full wp-image-261" />
</p>
<p>&nbsp;</p>
<p>
なので、昨日はASが書いてある「キーフレーム」だけをうまく選別できなくて、適当かつ強引に「同じASが続く場合は無視！」とやっていたのだけど、当然、意図的に同じASコードが続くフレームの場合には出力できない状態でした。
</p>
<p>&nbsp;</p>
<p>
今日、そういえば、_level0.CUPPYさんのとこにキーフレームを行き来するJSFLがあったなと思い出して、それができるのなら、キーフレームが取得できるんじゃないかと試してみました。</p>
<blockquote><p><strong>キーフレーム間をワンタッチで行き来する｜_level0.CUPPY</strong><br />
<a href="http://level0.cuppy.co.jp/2007/08/post_11.php">http://level0.cuppy.co.jp/2007/08/post_11.php</a></p></blockquote>
<p>&nbsp;</p>
<p>
この中にでてくる frame.startFrame を使って、キーフレーム判定を試してみたらうまくASが書かれた「キーフレーム」だけを抽出できるようになりました。</p>
<p>
ありがとう、_level0.CUPPYさん。
</p>
<p>&nbsp;</p>
<p>
<del datetime="2008-08-22T16:59:31+00:00">ということで、整理したり、なんらかの拡張機能に持っていくのは当分先になりそうですが、とりあえず使いたいという人は申し訳ないですが、早速修正するはめになったJSFLをダウンロードし直してくださいね。</del>
</p>
<p><del datetime="2008-08-22T16:59:31+00:00"><a href="http://violentcoding.com/blog/download-manager.php?id=13">libItemASCheckJSFL_0_2_0.zip</a></del>
</p>
<p>&nbsp;</p>
<p>
追記：</p>
<li>2008/08/23 さらに改良してSpark projectにコミット</li>
<blockquote><p>
<strong>GetFrameActionScript &#8211; Spark project</strong><br />
<a href="http://www.libspark.org/wiki/e_s_jp/GetFrameActionScript">http://www.libspark.org/wiki/e_s_jp/GetFrameActionScript</a><br />
<br />
<strong>[Flash]フレームに書いてあるASを出力するコマンド | blog ViolentCoding</strong><br />
<a href="http://violentcoding.com/blog/2008/08/23/archives/279">http://violentcoding.com/blog/2008/08/23/archives/279</a>
</p></blockquote>
<li>2008/08/07 Tanabeeさん改良版</li>
<blockquote><p><strong>Tanablog: &#8220;ライブラリの中でASが書いてあるやつを調べる&#8221; を改良した</strong><br />
<a href="http://bitmap.dyndns.org/blog/archives/001602.html">http://bitmap.dyndns.org/blog/archives/001602.html</a></p></blockquote>
<p>ありがとう、Tanablogさん。
</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/08/06/archives/244/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]ライブラリの中でASが書いてあるやつを調べる</title>
		<link>http://violentcoding.com/blog/2008/08/05/archives/207</link>
		<comments>http://violentcoding.com/blog/2008/08/05/archives/207#comments</comments>
		<pubDate>Mon, 04 Aug 2008 17:43:41 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[JSFL]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/?p=207</guid>
		<description><![CDATA[
他の人が作った.flaファイルを見たりしなきゃいけない場合、一番げんなりするのがMCのフレームにごそごそASが書いてあるやつ。処理の流れを追う気が無くなっちゃいます。

それに加えてライブラリが整理されてないで、ただ入 [...]]]></description>
			<content:encoded><![CDATA[<p>
他の人が作った.flaファイルを見たりしなきゃいけない場合、一番げんなりするのがMCのフレームにごそごそASが書いてあるやつ。処理の流れを追う気が無くなっちゃいます。</p>
<p>
それに加えてライブラリが整理されてないで、ただ入ってる状態の.flaファイルなんてものは、そのままゴミ箱にいれたくなりますよね。
</p>
<p>
普段.flaファイルを触る機会が少ない場合はなおさらです。
</p>
<p>&nbsp;</p>
<p>
でもゴミ箱行きもかわいそうですし、どのMCにASが書いてあるかチェックできたら少しは楽になるかなっと思って、ざっとJSFL書いてみました。
</p>
<p>&nbsp;</p>
<p>
追記：</p>
<li>2008/08/23 さらに改良してSpark projectにコミット</li>
<blockquote><p>
<strong>GetFrameActionScript &#8211; Spark project</strong><br />
<a href="http://www.libspark.org/wiki/e_s_jp/GetFrameActionScript">http://www.libspark.org/wiki/e_s_jp/GetFrameActionScript</a><br />
<br />
<strong>[Flash]フレームに書いてあるASを出力するコマンド | blog ViolentCoding</strong><br />
<a href="http://violentcoding.com/blog/2008/08/23/archives/279">http://violentcoding.com/blog/2008/08/23/archives/279</a>
</p></blockquote>
<li>2008/08/07 Tanabeeさん改良版</li>
<blockquote><p><strong>Tanablog: &#8220;ライブラリの中でASが書いてあるやつを調べる&#8221; を改良した</strong><br />
<a href="http://bitmap.dyndns.org/blog/archives/001602.html">http://bitmap.dyndns.org/blog/archives/001602.html</a></p></blockquote>
<li>2008/08/05 Version 0.2.0へ更新</li>
<blockquote><p>ASが書いてあるキーフレームの取得方法の変更。</p></blockquote>
<hr />
<p>&nbsp;</p>
<p>
テスト用の.flaファイルでしか確認してないですけど、ライブラリアイテムを全チェックして、ASが書いてある「アイテム名」と「レイヤー名」、「フレーム番号」を以下のように出力パネルに書き出します。
</p>
<p><pre class="brush: as3;">
##### Library Item:[ シンボル 5 ], Layer:[ レイヤー 2 ], Frame:[ 1 ] #####

this.stop();

###################################

##### Library Item:[ シンボル 3 ], Layer:[ レイヤー 2 ], Frame:[ 1 ] #####

// アクションスクリプト
trace(&quot;init&quot;);

###################################

##### Library Item:[ シンボル 3 ], Layer:[ レイヤー 2 ], Frame:[ 10 ] #####

gotoAndPlay(1);
</pre>
<p>&nbsp;</p>
<p>
たぶん、たくさんASが書いてある場合はどかどか出力パネルにASがでちゃうので、JSFLの中のisCodeOutput を false にするとASのコード内容は出ないようになります。
</p>
<p>&nbsp;</p>
<p>
libItemASCheck.jsfl version 0.2.0</p>
<pre class="brush: jscript;">
/* JSFL
	libItemASCheck.jsfl

	Version 0.2.0
	author Eiji Saito
	since  2008-08-04
*/

fl.outputPanel.clear();
fl.trace(&quot;********** Library Item ActionScript Check **********&quot;);
fl.trace(&quot;&quot;);

var doc = fl.getDocumentDOM();
var isCodeOutput = true;

libItemASCheck(isCodeOutput);

function libItemASCheck( isShowAS ) {
	if (doc == null) {
		return;
	}

	var itemArray = doc.library.items;
	var itemLength = itemArray.length;

	for (var i=0; i &lt; itemLength; i++) {
		var libItem = itemArray[i];
		var type = libItem.itemType;

		if (type == &quot;movie clip&quot; || type == &quot;graphic&quot; || type == &quot;button&quot;) {
			var libTimeline = libItem.timeline;

			var layersArray = libTimeline.layers;
			var layersLength = layersArray.length;

			for (var j=0; j &lt; layersLength; j++) {

				var targetLayer = layersArray[j];
				var framesArray = targetLayer.frames;
				var frameLength = framesArray.length;

				for (var k=0; k &lt; frameLength; k++) {
					var targetFrame = framesArray[k];
					var asString = targetFrame.actionScript;

					if (asString) {
						if (k == targetFrame.startFrame) {

							var libName = libItem.name;
							var layerName = targetLayer.name;
							var frameNum = k + 1;

							fl.trace(&quot;########## &quot;
							 		+ &quot;Library Item:[ &quot;+ libName + &quot; ], &quot;
									+ &quot;Layer:[ &quot; + layerName + &quot; ], &quot;
									+ &quot;Frame:[ &quot; + frameNum + &quot; ] &quot;
									+ &quot;##########&quot; );

							if (isShowAS) {
								fl.trace(&quot;&quot;);
								fl.trace(asString);
								fl.trace(&quot;&quot;);
							}
							fl.trace(&quot;###################################&quot;);

							fl.trace(&quot;&quot;);
							fl.trace(&quot;&quot;);
							fl.trace(&quot;&quot;);
						}
					}
				}
			}
		}
	}
}
</pre>
<p>&nbsp;</p>
<p>
<del datetime="2008-08-22T16:57:43+00:00">整理したり、なんらかの拡張機能に持っていく予定ですが、当分先になりそうなので、とりあえず使いたいという人は以下からどうぞ。コマンドとして使ってください。</del>
</p>
<p><del datetime="2008-08-22T16:57:43+00:00">JSFLダウンロード</del></p>
<p><del datetime="2008-08-22T16:57:43+00:00"><a href="http://violentcoding.com/blog/download-manager.php?id=13">libItemASCheckJSFL_0_2_0.zip</a></del>
</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/08/05/archives/207/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]流体っぽいのを作ろうと思った（２）</title>
		<link>http://violentcoding.com/blog/2008/07/29/archives/136</link>
		<comments>http://violentcoding.com/blog/2008/07/29/archives/136#comments</comments>
		<pubDate>Mon, 28 Jul 2008 17:59:28 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/?p=136</guid>
		<description><![CDATA[
[Flash]流体っぽいのを作ろうと思ったの解説。


下のサンプルでどんな DisplacementMapFilter で流体っぽい動きになってるか試しみて、ソースを見た方がわかると思います。

&#160;
_ca [...]]]></description>
			<content:encoded><![CDATA[<p>
<a href="http://violentcoding.com/blog/2008/07/26/archives/135">[Flash]流体っぽいのを作ろうと思った</a>の解説。
</p>
<p>
下のサンプルでどんな DisplacementMapFilter で流体っぽい動きになってるか試しみて、ソースを見た方がわかると思います。
</p>
<p>&nbsp;</p>
<p><li><strong>_canvasBmpData</strong> : BitmapData <br />
描画用のBitmapData。Bitmap化し、BlurFilterをかけてる。
</li>
<pre class="brush: as3;">
_canvasBmpData = new BitmapData(MAP_WIDTH, MAP_HEIGHT, false, 0x000000);
var canvasBmp : Bitmap = new Bitmap(_canvasBmpData);
canvasBmp.filters = [new BlurFilter(4, 4, 1)];
</pre>
</p>
<p><li><strong>_mapBmpData</strong> : BitmapData <br />
描画用の _canvasBmpData に適用する DisplacementMapFilter (_displaceMapFilter) の mapBitmap。<br />
<strong>BlurFilterのかかった流体用マップ _fluidBmp</strong> が draw() される。(ので、結局 _fluidBmpと同じ見た目 )
</li>
<pre class="brush: as3;">
_displaceMapFilter = new DisplacementMapFilter();
_displaceMapFilter.mapBitmap = _mapBmpData;
</pre>
</p>
<p><li><strong>fluidMapBmpData </strong>: BitmapData<br />
流体用マップ(  _fluidBmp  )の元にする FluidMap クラスで計算した結果の BitmapData<br />
_fluidBmp 用の BitmapData となる。
</li>
</p>
<p>&nbsp;</p>
<p><div style="text-align: center;">
<embed width="620" height="650" menu="true" loop="false" play="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" src="http://violentcoding.com/blog/wp-content/uploads/flash/FluidSample_param.swf"></embed><hints id="hah_hints"></hints>
</div>
</p>
<p>&nbsp;</p>
<p>
ドラッグすると FluidMap クラスで計算した結果を _fluidBmp として、DisplacementMapFilter の mapBitmap である _mapBmpData に draw() する。</p>
<pre class="brush: as3;">
// FluidMap : update
fluidMapBmpData = _fluidMap.updateMap();
_fluidBmp.bitmapData = fluidMapBmpData;

// update _mapBmpData
_mapBmpData.draw(_fluidBmp, _fluidBmp.transform.matrix);
</pre>
</p>
<p>
DisplacementMapFilter の内容が変わったので _canvasBmpData に DisplacementMapFilter を繰り返し適用してやることで、描画が変化しつづける。（ことをEnterFrameでやってる。）</p>
<pre class="brush: as3;">
//updateDisplaceMapFilter(_canvasBmpData, _displaceMapFilter);で以下の処理
var sourceRect : Rectangle = _canvasBmpData.rect;
var destPoint : Point = new Point(sourceRect.left, sourceRect.top);
_canvasBmpData.applyFilter(_canvasBmpData, sourceRect, destPoint, _displaceMapFilter);
</pre>
</p>
<p>&nbsp;</p>
<p>
FluidMap では縦横サイズとグリッドのサイズを指定して、各グリッドのFluid計算用のデータ FluidMapDataを2次元配列に格納する。
</p>
<p>
例えば、300×300でグリッドのサイズを「10」としたら、30×30＝900の各グリッドに対して、Fluidの計算をしてるわけ。仮にグリッド無しでsetPixelしようとすると90000の処理になっっちゃう。
</p>
<p>
さらにその各グリッドの持つのXY方向のベクトル値を算出するために、隣接する６個のグリッドの値を使うのだけど、その取得にはまたその2次元配列を使うことになるわけで・・・。</p>
<p>
その計算をEnterFrameで行っているわけだから、処理も遅くなる。
</p>
<p>&nbsp;</p>
<p>
Fluidの計算自体は Glen Murphy氏のFluidコードのほぼそのまま。超省略な画像を置いておくので、これ見ながらソースを見た方が早いと思います。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/07/fluidmap.gif" alt="" title="fluidmap" width="500" height="250" class="aligncenter size-full wp-image-177" />
</p>
<p>
必要なのはX方向とY方向の移動量（xVelとyVel）。それをDisplacementMapの色設定に使って、グリッドのサイズでマップ用のBitmapDataを作ってあげる。（色のFadeOutは強制的に色の値を変えちゃってるけど）
</p>
<p>
CalcPressure.as の「0.20」のところをGlen Murphy氏のFluidコードの通りに「0.25」にしてやると、波紋？な揺れが際立つよ。
</p>
<p>&nbsp;</p>
<p>ソースは前回と同じ。</p>
<p>ソース1：<a href="http://violentcoding.com/blog/download-manager.php?id=11">FluidSample.zip</a><br />
ソース2：<a href="http://violentcoding.com/blog/download-manager.php?id=12">FluidSample_param.zip</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/07/29/archives/136/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]流体っぽいのを作ろうと思った</title>
		<link>http://violentcoding.com/blog/2008/07/26/archives/135</link>
		<comments>http://violentcoding.com/blog/2008/07/26/archives/135#comments</comments>
		<pubDate>Fri, 25 Jul 2008 17:54:34 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Fluid]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/?p=135</guid>
		<description><![CDATA[
流体っぽいのをProcessing.orgのLearingにあるGlen Murphy氏のFluidコードを参考に作ろうと思った。

&#160;

Fluid \ Learning \ Processing 1.0  [...]]]></description>
			<content:encoded><![CDATA[<p>
流体っぽいのをProcessing.orgのLearingにあるGlen Murphy氏のFluidコードを参考に作ろうと思った。
</p>
<p>&nbsp;</p>
<p>
<strong>Fluid \ Learning \ Processing 1.0 (BETA)</strong><br />
<a href="http://processing.org/learning/topics/fluid.html">http://processing.org/learning/topics/fluid.html</a>
</p>
<p>
Glen Murphy氏のコードは<a href="http://bodytag.org/">bodytag.org</a>の「FLUID3」とか、<a href="http://glenmurphy.com/projects/">Glen Murphy氏のページ</a>にもあるやつ。</p>
<p>
Glen Murphy氏のページのほうでは「Fluid3」のリンク先が「Smoke2」と入れ替わっちゃたりしていますけど。
</p>
<p>&nbsp;</p>
<p>
このProcessingのコードをほぼそのままASでやっているサンプルはPapervison3Dに関わってるRalph Hauwert氏のところでダウンロードできて試せます。</p>
<p>
若干コンパイルエラーがでますけど（voidがVoidだったりとか）、それを解消していけばすぐ動きました。
</p>
<blockquote><p>
<strong>Fluid Dynamics : AS3 Source Code.</strong><br />
<a href="http://www.unitzeroone.com/blog/2005/10/25/fluid-dynamics-as3-source-code/">http://www.unitzeroone.com/blog/2005/10/25/fluid-dynamics-as3-source-code/</a>
</p></blockquote>
<p>&nbsp;</p>
<p>
最初は、正統に流体シミュレーションを調べてからなんてちょっと思ったけど、<a href="http://ja.wikipedia.org/wiki/%E3%83%8A%E3%83%93%E3%82%A8-%E3%82%B9%E3%83%88%E3%83%BC%E3%82%AF%E3%82%B9%E6%96%B9%E7%A8%8B%E5%BC%8F">ナビエ-ストークス方程式</a>を理解して・・・なんて、数学のミレニアム懸賞問題とか理解できるわけありません。</p>
<p>
高卒と同時に数学なんて忘れちゃって、四則演算以外の数学記号を見るだけでも嫌なのに。
</p>
<blockquote><p>
<strong>Fluid Simulation for Computer Animation</strong><br />
<a href="http://www.cs.ubc.ca/~rbridson/fluidsimulation/">http://www.cs.ubc.ca/~rbridson/fluidsimulation/</a>
</p></blockquote>
<p>&nbsp;</p>
<hr />
<p>ということで、Glen Murphy氏のProcessingコードをベースにDisplacementMapFilterを使う方法でやってみたのがこれ。</p>
<p>&nbsp;</p>
<p>一度クリックしてからドラッグするとFluidっぽい動きします。そして今回も例によって負荷高めなのです。一度始めると止める事はしません。ソースを置いとくので、ダウンロードしてから試した方が無難です。</p>
<p>それと、Macの場合はFlashPlayer 10で見た方が良いはずです。FlashPlayer 9で作っていますが、FlashPlayer 10では描画速度が速くなってるし（Windows環境と比べてまともになった感じ）。</p>
<p><div style="text-align: center;">
<embed width="310" height="310" menu="true" loop="false" play="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" src="http://violentcoding.com/blog/wp-content/uploads/flash/FluidSample.swf"></embed><hints id="hah_hints"></hints>
</div>
</p>
<p>&nbsp;</p>
<p>内容の解説は<a href="http://violentcoding.com/blog/2008/07/29/archives/136">[Flash]流体っぽいのを作ろうと思った（２）</a>で。ソースは置いとく。</p>
<p>ソース1：<a href="http://violentcoding.com/blog/download-manager.php?id=11">FluidSample.zip</a><br />
ソース2：<a href="http://violentcoding.com/blog/download-manager.php?id=12">FluidSample_param.zip</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/07/26/archives/135/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[Flash]Flash CS3 変形基準点用の拡張機能を作った</title>
		<link>http://violentcoding.com/blog/2008/05/21/archives/125</link>
		<comments>http://violentcoding.com/blog/2008/05/21/archives/125#comments</comments>
		<pubDate>Tue, 20 May 2008 16:41:38 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[source]]></category>
		<category><![CDATA[SparkProject]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/?p=125</guid>
		<description><![CDATA[
Flash CS3 でオブジェクトの変形基準点をごにょごにょする拡張機能。「Apply」ボタンで選択中オブジェクトの変形基準点を一括で位置指定する。


オブジェクトの変形基準点を１個１個ダブルクリックしたり、シンボル [...]]]></description>
			<content:encoded><![CDATA[<p>
Flash CS3 でオブジェクトの変形基準点をごにょごにょする拡張機能。「Apply」ボタンで選択中オブジェクトの変形基準点を一括で位置指定する。
</p>
<p>
オブジェクトの変形基準点を１個１個ダブルクリックしたり、シンボルの基準点を気にしたり、オブジェクトの端に吸着させて・・・の作業をあまり気にせずできるようになります。</p>
<p>
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/05/tp01.png" alt="TransformationPoint" title="TransformationPoint" width="224" height="182" class="aligncenter size-full wp-image-126" />
</p>
<p>&nbsp;</p>
<p>
2008/5/23追記：<br />
「変形基準点」のことをヘルプでみたら「変形点」って書いてあった。<br />
そもそも拡張機能の名前が「TransformationPoint」なんだから「変形点」が正しいわ。<br />
でも、自分は「変形の基準点」って認識。
</p>
<p>&nbsp;</p>
<hr />
<p>&nbsp;</p>
<p>
「CENTER」ではオブジェクトの真ん中を基準に変形基準点の位置を設定します。<br />
( 0, 0 )でど真ん中、( -5, 10 )ならば、ど真ん中から左に5ピクセル、下に10ピクセル移動した位置となります。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/05/tp03.jpg" alt="TransformationPoint CENTER" title="TransformationPoint CENTER" width="417" height="240" class="aligncenter size-full wp-image-128" />
</p>
<hr />
<p>&nbsp;</p>
<p>
「LEFT-TOP」はオブジェクトの左上が基準となり、「CENTER」と同じように変形基準点の位置を指定します。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/05/tp02.jpg" alt="TransformationPoint LEFT-TOP" title="TransformationPoint LEFT-TOP" width="417" height="240" class="aligncenter size-full wp-image-127" />
</p>
<p>&nbsp;</p>
<p>
さらに「LEFT-TOP」時の「Ratio」では、オブジェクトのタテヨコに対する比率で変形基準点を指定します。<br />
( 0, 0 )が左上、( 0.5, 0.5 )が真ん中、( 1, 1 )で右下という感じ。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/05/tp04.jpg" alt="TransformationPoint Ratio" title="TransformationPoint Ratio" width="417" height="240" class="aligncenter size-full wp-image-129" />
</p>
<hr />
<p>&nbsp;</p>
<p>
「Reset」 ボタンは変形基準点をダブルクリックした時の挙動。MCならばシンボルの基準点に変形基準点が合うやつ。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/05/tp05.jpg" alt="TransformationPoint Reset" title="TransformationPoint Reset" width="417" height="240" class="aligncenter size-full wp-image-130" />
</p>
<hr />
<p>&nbsp;</p>
<p>
そして、お年寄りにも優しくパネルの大きさに合わせて拡大する。<br />
<img src="http://violentcoding.com/blog/wp-content/uploads/2008/05/tp06.jpg" alt="TransformationPoint Big" title="TransformationPoint Big" width="675" height="389" class="aligncenter size-full wp-image-133" />
</p>
<hr />
<p>&nbsp;</p>
<p>
本当は、「選択中の各オブジェクトに対して一括設定する」モードと、「それら全体の選択枠に対して設定する」モードの２種類を切り替えできるようにしたかったけど、JSFLで「fl.getDocumentDOM().setTransformationPoint()」を複数選択状態で呼び出すと、Flashが落ちてしまうのでできなかった。
</p>
<p>&nbsp;</p>
<p><del datetime="2008-05-22T16:23:35+09:00">Spark project に入れようと思っているのだが、その準備ができるまではここで。</del></p>
<p>2008/5/23<br />
<a href="http://www.libspark.org/">Spark Project</a>にコミットしました。<br />
<strong>TransformationPoint &#8211; Spark project</strong><br />
<a href="http://www.libspark.org/wiki/e_s_jp/TransformationPoint">http://www.libspark.org/wiki/e_s_jp/TransformationPoint</a>
</p>
<p>&nbsp;</p>
<h3>ダウンロード</h3>
<p>
2008/07/31 : Version 1.1.1に更新
</p>
<p>
回転と傾斜変形が適用されている場合での変形点の設定バグに対応。<br />
回転角度が-180,-135,-90,-45,0,45,90,135,180度の場合のみ変形点を設定します。
</p>
<p>&nbsp;</p>
<p>
<strong>TransformationPoint.mxp 1.1.1</strong><br />
<a href="http://www.libspark.org/svn/mxp/TransformationPoint/trunk/FlashCS3/mxp/TransformationPoint.mxp">http://www.libspark.org/svn/mxp/TransformationPoint/trunk/FlashCS3/mxp/TransformationPoint.mxp</a><br />
Flash CS3用です。<br />
※インストールにはExtension Managerが必要です。
</p>
<h3>ソースリポジトリ</h3>
<p>
<strong>TransformationPoint 1.1.1 ソース</strong><br />
<a href="http://www.libspark.org/svn/mxp/TransformationPoint/trunk/FlashCS3/src/">http://www.libspark.org/svn/mxp/TransformationPoint/trunk/FlashCS3/src/</a>
</p>
<h3>利用方法</h3>
<p>
「ウィンドウ」メニュー ＞ その他のパネル ＞ TransformationPoint
</p>
<p>&nbsp;</p>
<h3><del>一応作った時のも</del></h3>
<p>
<del><strong>TransformationPoint 1.0.0</strong><br />
<a href="http://violentcoding.com/blog/download-manager.php?id=9">tp_mxp_1_0_0.zip</a><br />
Flash CS3用です。<br />
※インストールにはExtension Managerが必要です。<br />
</del>
</p>
<p>
<del><br />
<strong>TransformationPoint 1.0.0 ソースダウンロード</strong><br />
<a href="http://violentcoding.com/blog/download-manager.php?id=10">tp_src_1_0_0.zip</a><br />
</del></p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/05/21/archives/125/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]Processingの教材をFlashで（２）</title>
		<link>http://violentcoding.com/blog/2008/04/24/archives/120</link>
		<comments>http://violentcoding.com/blog/2008/04/24/archives/120#comments</comments>
		<pubDate>Wed, 23 Apr 2008 17:55:51 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/2008/04/24/archives/120</guid>
		<description><![CDATA[Processingのソースを参考にして、Flashで作るsketch練習の続き。
&#160;
教材は引き続き、パリで行われたらしいProcessing workshopのソース。
ダウンロードしたProcessing [...]]]></description>
			<content:encoded><![CDATA[<p>Processingのソースを参考にして、Flashで作るsketch練習の続き。</p>
<p>&nbsp;</p>
<p>教材は引き続き、パリで行われたらしいProcessing workshopのソース。<br />
ダウンロードしたProcessingのソース「01_Classes」＞「_08_Arbre_Fractale」をFlashにした。</p>
<blockquote><p>
<strong>Processing workshop in Paris &#8211; code sources | v3ga</strong><br />
<a href="http://v3ga.net/blog/2008/04/processing-workshop-in-paris-code-sources/">http://v3ga.net/blog/2008/04/processing-workshop-in-paris-code-sources/</a> </p></blockquote>
<p>&nbsp;</p>
<p>再帰でフラクタルを描くやつ。画面のXマウス位置に応じて、枝の角度が変わるようになってる。</p>
<div style="text-align: center;">
<img alt="TreeFractal_AS3_p5" src="http://violentcoding.com/blog/wp-content/uploads/2008/04/treefractal_p5.png" />
</div>
<p>Flashで作ったけど機能としてはProcessingと同じようにできた。<br />
Processingのやつは再帰的に線を描画していく中で、描画に対する指定が加算されていくから、特別に座標や角度の計算を気にする必要は無い。</p>
<pre class="brush: java;">
void dessine(float x, float y, float angle) {
 	pushMatrix();
 	translate(x,y,0);

 	rotate(angle);
 	line(0,0,0,-longueur);

 	dessineFilles(float(mouseX)/float(width)*PI/5);
 	popMatrix();
}
</pre>
</p>
<p>&nbsp;</p>
<p>それを、まぁFlashならではということで、それぞれの線はまっすぐ上向きで同じだけど、Spriteの入れ子入れ子で回転角度が加算されているような構造にしてみた。Spriteの配置位置は(0,0)から親Spriteの線の長さ分だけ上方向にずらす感じ。</p>
<div style="text-align: center;">
<img alt="TreeFractal_AS3_01" src="http://violentcoding.com/blog/wp-content/uploads/2008/04/treefractal_as3_01.png" />
</div>
<p>&nbsp;</p>
<p>
<strike>EnterFrame</strike>MouseMoveでmouseXを取って角度が変わるけど、線の描画を毎度行ってるのではなく各Spriteの角度を変化させてる。このTree型のフラクタルの枝の角度が変わるのが楽しかったので、パラメータをいじれるようにしてみた。</p>
<div style="text-align: center;">
<embed width="500" height="580" menu="true" loop="false" play="false" pluginspage="http://www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" src="http://violentcoding.com/blog/wp-content/uploads/flash/TreeFractal_AS3param.swf"></embed>  <hints id="hah_hints"></hints>
</div>
<p>今回も負荷は高め。そしてコンテンツ開始と同時に再帰再帰でフラクタルを描くから、環境によっては１５秒ルールで厳しいかも。</p>
<p><pre class="brush: as3;">
private function draw( lineAngle:Number ) : void {
 	rotation = lineAngle;
 	//scaleX = lineAngle / 180 * 2;
 	drawChildren( lineAngle );
}
</pre>
<p>なんか回転だけじゃなく、適当にsacleXとかやってみたりしたら、全く予想もしない図柄になってしまった。</p>
<div style="text-align: center;"><img alt="TreeFractal_AS3_03" src="http://violentcoding.com/blog/wp-content/uploads/2008/04/treefractal_as3_03.png" /></div>
<p>&nbsp;</p>
<p>ソース：<a href="http://violentcoding.com/blog/download-manager.php?id=6">TreeFractal_AS3.zip</a><br />
ソース：<a href="http://violentcoding.com/blog/download-manager.php?id=7">TreeFractal_AS3param.zip</a></p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/04/24/archives/120/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Flash]Processingの教材をFlashで</title>
		<link>http://violentcoding.com/blog/2008/04/23/archives/117</link>
		<comments>http://violentcoding.com/blog/2008/04/23/archives/117#comments</comments>
		<pubDate>Tue, 22 Apr 2008 16:30:37 +0000</pubDate>
		<dc:creator>e_s_jp</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[Processing]]></category>
		<category><![CDATA[source]]></category>

		<guid isPermaLink="false">http://violentcoding.com/blog/2008/04/23/archives/117</guid>
		<description><![CDATA[
Processingのソースを参考にして、Flashで作るsketchの練習。

&#160;

今回の教材は、パリで行われたらしいProcessing workshopのソース。

Processing worksh [...]]]></description>
			<content:encoded><![CDATA[<p>
Processingのソースを参考にして、Flashで作るsketchの練習。
</p>
<p>&nbsp;</p>
<p>
今回の教材は、パリで行われたらしいProcessing workshopのソース。</p>
<blockquote><p>
<strong>Processing workshop in Paris &#8211; code sources | v3ga</strong><br />
<a href="http://v3ga.net/blog/2008/04/processing-workshop-in-paris-code-sources/">http://v3ga.net/blog/2008/04/processing-workshop-in-paris-code-sources/</a>
</p></blockquote>
<p>&nbsp;</p>
<p>その中から、いくつかをFlashで作って遊んでみた。</p>
<div style="text-align: center">
<img src='http://violentcoding.com/blog/wp-content/uploads/2008/04/pointsproximites_p5.png' alt='_04_Points_Proximites' />
</div>
</p>
<p>まずは、ダウンロードしたProcessingのソース「01_Classes」＞「_04_Points_Proximites」で動作を確認。<br />
ドラッグすると、赤い円が描画され、画面の端で跳ね返りながら、円同士が近づくと、線で繋がれる。</p>
<p>さすが、パリでのworkshopということだけあって、コメントや変数名がフランス語。それを英語に変換しつつ、AS 3.0 用に直したりして、Flashにソースを移植。</p>
<p>&nbsp;</p>
<p>
で、Flashで作ったのがこれ。ドラッグじゃなくて、マウスダウンで描画する。<br />
円の数が増えると大変なことになるので無理をしないことをおすすめ。</p>
<div style="text-align: center">
<embed src="http://violentcoding.com/blog/wp-content/uploads/flash/PointsProximities_AS3.swf" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" play="false" loop="false" menu="true" height="300" width="300"><br />
</embed><br />
<hints id="hah_hints"></hints>
</div>
<p>Processingでは毎フレームdrawで背景ベタ塗りと円と線を描いているのだけど、このFlashではShapeの座標を移動させる方法でやってみた。</p>
<p>Flashでも線は毎フレーム描画。Processingのと同じように配列for文の入れ子で全ての円に対し距離判定して、線を描いているけど、やっぱきびしい。</p>
<p>&nbsp;</p>
<p>それにProcessingのやつでは「F」キーで円の移動残像モードとかやってるけど、毎フレーム半透明の塗りで全面を覆っていくとかFlashじゃ「もういや！」って感じでやってない。</p>
<p>
ソース：<a href="http://violentcoding.com/blog/download-manager.php?id=5">PointsProximities_AS3.zip</a>
</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://violentcoding.com/blog/2008/04/23/archives/117/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
