<?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/"
		xmlns:xhtml="http://www.w3.org/1999/xhtml"
>

<channel>
	<title>タロタローグ ブログ &#187; Progression</title>
	<atom:link href="http://blog.tarotaro.org/archives/category/actionscript/progression/feed" rel="self" type="application/rss+xml" />
	<link>http://blog.tarotaro.org</link>
	<description>ActionScript3.0のサンプルを色々と弄る日記</description>
	<lastBuildDate>Mon, 30 Jan 2012 15:32:27 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/category/actionscript/progression/feed" />
		<item>
		<title>Progression Frameworkのワークショップのハードル高い</title>
		<link>http://blog.tarotaro.org/archives/143</link>
		<comments>http://blog.tarotaro.org/archives/143#comments</comments>
		<pubDate>Thu, 12 Jun 2008 16:39:32 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[Progression]]></category>
		<category><![CDATA[日記]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/143</guid>
		<description><![CDATA[Progression ワークショップ in 大崎が開催されるそうで、是非行きたかったのだが、 必要な持ち物 * ノートパソコン（Win or Mac） * Adobe Flash CS3 Professional * Adobe Extension Manager 1.8 blog.progression.jp? ブログアーカイブ ? Progression ワークショップ in 大崎 無理だー！やはりビジネス向けか?！ 悔しいです！悔しいです！ しかも、19：30?だとUStreamでリアルタイムで見るには早いしな?。 ってUStreamで配信されるのかすら知らないけど。 配信して欲しい！]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/143/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/143" />
	</item>
		<item>
		<title>Progression Frameworkで、Flickrの最新写真をアルバム表示してみた。</title>
		<link>http://blog.tarotaro.org/archives/72</link>
		<comments>http://blog.tarotaro.org/archives/72#comments</comments>
		<pubDate>Thu, 08 May 2008 17:36:22 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/72</guid>
		<description><![CDATA[以前のエントリでもさりげなく紹介したが、Progression Frameworkを使った実験として、FlickrからRSSを取得し、最新写真一覧をアルバム表示すると言うプログラムを書いてみた。 FlashのGUIを全く使えないので、基本的にはボタンぽい物は無骨なデザインだし、タイムラインの概念もないし、オブジェクトの配置は全部プログラム中に書くのでコードはかなり荒れ模様になっている。 が、非同期な画像読み込みとかが多かったので、結構Tipsを蓄えられた。まぁ、詳しくは今後エントリにしていく予定で。 と言うことで、一旦Progression Frameworkについては一区切り付いたので、またPapervision3DやWOWEngineの方を触っていこうかなって感じです。 ちなみに、ロード中の画像は「Ajaxload」からゲットした画像を、アニメGIFの再生は「AS3 GIF Player」を使ってみた。 余談だが、通常のFlasherの皆さんなら、こういう風に何かを作った時、「作品」とか「Flash」とか言うのだろうが、俺は「作品」と言うほど芸術性を追求してないし、「Flash」と言うにはFlashを使って無さ過ぎる。 なので「プログラム」と言う言葉を使ってみたが、より良い表現は無いだろうか？]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/72/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/72" />
	</item>
		<item>
		<title>Progression FrameworkのForLoopの限界は何周か?</title>
		<link>http://blog.tarotaro.org/archives/69</link>
		<comments>http://blog.tarotaro.org/archives/69#comments</comments>
		<pubDate>Wed, 07 May 2008 12:46:36 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/69</guid>
		<description><![CDATA[以前作ったWhileLoopコマンドを試していて気づいたんだが、ループの限界が意外と早い。すぐにスタックオーバーフローに見舞われるため、ループ内で実行するコマンドを時間のかかるコマンド（DoTweenerで1秒くらいかけて移動とか）にしないと、一瞬にして限界が来てエラー発生と言うことになる。 勿論、これは既存のForLoopコマンドにも言える筈なので、試しにループ何周までいけるか実験してみた。 つまり、 PLAIN TEXT new ForLoop&#40;&#60;ループ数&#62;,&#60;コマンド&#62;&#41;; の、ループ数を何処まで増やせるのか?と言うことだ。 多分、環境依存なのだろうが。 ということで実験の結果、 大体400にギリギリで届かないくらい ではないかと言う事がわかった。俺が試しに作ってみたプログラムだと、390とかその位だった。 予想以上に早い。 ちなみに、その時のコードはこんな感じ PLAIN TEXT new ForLoop&#40;400,new Empty&#40;&#41;&#41;; ループ内のコマンドがもっと時間のかかるものだったらもう少しいけるのかもしれないが、時間がかかるので実験はしない。 一瞬で終わるコマンドをループすると、400程度と言うのが目安だろう。 もしくは、コマンド内でイベント発生するもの(DoTweenerとか、LoadURLとか)だと、ForLoopの中でコマンドを実行してる関数と、中のコマンドの実行部分の関数が上手く折り合ってスタックオーバーフローが起きない可能性もある。 スタックオーバーフローは、関数内から他の関数を読んだ時に増えて、呼ばれた関数が終わると減るから、適度に関数が終わらないとすぐ満杯になるんだよね、多分。 まぁ、ちょっとしたループにはForLoopを使っても良いけど、数が多少多くなると厳しいので他の手を考えろと言う事か。 というか、元々for文の添え字も使えないし、そんなグルグル回すことを考慮してないのかも。]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/69/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/69" />
	</item>
		<item>
		<title>Firefoxとflash.net.navigateToURLは相性悪いの？</title>
		<link>http://blog.tarotaro.org/archives/68</link>
		<comments>http://blog.tarotaro.org/archives/68#comments</comments>
		<pubDate>Mon, 05 May 2008 17:49:21 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/68</guid>
		<description><![CDATA[Flickrから最新の投稿一覧をRSSで拾ってきて、各画像をアルバム形式で表示すると言う実験をProgression Frameworkを用いて実装してみたんだが、1つ問題点が。 写真をクリックした時、ブラウザでその写真のページにジャンプするよう、 PLAIN TEXT /** &#160;* 画像部分クリック時のイベント処理 &#160;*/ private function onClick&#40;e:MouseEvent&#41;:void &#123; &#160; &#160; //this.pageUrlに、ジャンプ先のURLを格納 &#160; &#160; flash.net.navigateToURL&#40;new URLRequest&#40;this.pageUrl&#41;,"_blank"&#41;; &#125; こんなコードを仕込んだんだが、Firefoxでのみ正常動作しない。 Flex 3 SDKに同梱されてるFlash Playerや、IE7ではちゃんとジャンプ出来たんだが・・・。 一応調べてみると、 Re:IE、FirefoxでFlashから新規ウィンドウを開く際にポップアップブロックされる件の回避 - 0x集積蔵 via kwout とのこと。 ややこしい上、いつ使えなくなるかわからないバッドノウハウ(らしい)が当面の解決策か?。 ムズいね！]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/68/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/68" />
	</item>
		<item>
		<title>IfElseコマンドとForLoopコマンドを元に、WhileLoopコマンドを作ってみた。</title>
		<link>http://blog.tarotaro.org/archives/63</link>
		<comments>http://blog.tarotaro.org/archives/63#comments</comments>
		<pubDate>Mon, 21 Apr 2008 12:14:24 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/63</guid>
		<description><![CDATA[Progression Frameworkで、条件を満たすまでコマンドを繰り返し実行してくれる「WhileLoop」コマンドがあれば便利だろうなと思い、IfElseの条件関数に関する処理と、ForLoopの繰り返しテクニックを元に実装してみた。主な目的はLoadURLコマンドでデータがロードし終わるまでTweenerを動かし続けたいと言う考えから来ていて、その他の処理に関するテストは一切してないけど。 ■使い方 今回は、あらかじめ作成しておいた「LoadURLById」コマンド(error関数つき)を使って、ロード中にTweenerでアニメーションしながら待つと言う処理を書いてみた。 PLAIN TEXT new ParallelList&#40;0, &#160; &#160; new LoadURLById&#40;"id1", new URLRequest&#40;"http://??"&#41;&#41;.error&#40; &#160; &#160; &#160; &#160; function&#40;&#41;:void &#123; &#160; &#160; &#160; &#160; &#160; &#160; //エラー時はシーン移動 &#160; &#160; &#160; &#160; &#160; &#160; new Goto&#40;new SceneId&#40;"/index/load_error"&#41;&#41;.execute&#40;&#41;;//エラー時用のシーン「/index/load_error」に移動 &#160; &#160; &#160; &#160; &#125;&#41;, &#160; &#160; new WhileLoop&#40;function&#40;&#41;:Boolean &#123; &#160; &#160; &#160; &#160; &#160; &#160; var data:Object; &#160; [...]]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/63/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/63" />
	</item>
		<item>
		<title>Progression Frameworkのコマンドに、「error」「execute」関数を追加してほしい。</title>
		<link>http://blog.tarotaro.org/archives/62</link>
		<comments>http://blog.tarotaro.org/archives/62#comments</comments>
		<pubDate>Mon, 21 Apr 2008 12:11:11 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/62</guid>
		<description><![CDATA[Progression Frameworkのコマンドクラスには、before/afterと言う関数があり、コマンド実行前/後の挙動を定義することが出来る。しかもこれらの関数は最終的にthisを返してくれる。なので、newしてbefore呼んでafter呼んでそのまま実行と言う流れで、一気にコマンドを実行できる。 これは非常に便利な機能だが、LoadURLのようにエラー発生の可能性を秘めたコマンドだと、結局addEventListenerを呼ばなくてはならず、一旦ローカル変数などにコマンドを代入し、例外発生時のイベントリスナーを定義してから実行と言う形になり、少し不便だ。 その不便を解消するために、CommandCatchEvent.ERRORに対するイベントリスナーを定義し、thisを返す関数「error()」と、CommandCatchEvent.EXCEPTIONに対するイベントリスナーを定義し、thisを返す関数「exception()」がほしくなる。 ■既存のサンプルの話 Progression Frameworkのサンプルだと、大体が PLAIN TEXT addCommand&#40; &#160; &#160; new Trace&#40;"コマンド追加"&#41; &#41;; のように、addCommand関数の中でコマンドを新規作成するケースが多いように思える。 また、各コマンドのASDocにも、 PLAIN TEXT new LoadURL&#40; new URLRequest&#40; "http://progression.jp/" &#41; &#41; &#160; &#160; .before&#40; null, trace, &#91; "テキストデータを読み込みます。" &#93; &#41; &#160; &#160; .after&#40; null, trace, &#91; "読み込んだデータの内容 :", this.data &#93; &#41; &#160; &#160; .execute&#40;&#41;; のように、newしたオブジェクトをそのまま実行するのが正しいと言うようなサンプルが記述してある。 が、例えば上記のコードだと、存在しないURLを読み込んだ場合どうにもならないという欠点がある。 そこで、以下のようなコードを書ける関数、「error」を用意してはどうか？ PLAIN TEXT new [...]]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/62/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/62" />
	</item>
		<item>
		<title>LoadURLでロードしたデータをIDで取得できる、LoadURLByIdコマンドを作ってみた。</title>
		<link>http://blog.tarotaro.org/archives/61</link>
		<comments>http://blog.tarotaro.org/archives/61#comments</comments>
		<pubDate>Mon, 21 Apr 2008 12:05:29 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/61</guid>
		<description><![CDATA[Progression Frameworkで、外部データを読み込む時に使うLoadURLコマンドだが、データをID管理するのはどうかというアイデアがフォーラムに出ていたので、便利そうだしちょっと試しに実装してみた。 ただ、プロパティdataをSceneObjectに持たせるのは難しそうだったので、取り敢えずコマンドの方にクラス変数として持たせ、IDを使って取得できるようにしてみた。 そんなわけでソースはこんな感じ。基本的にはLoadURLと同じなので、子クラスとして定義。 パッケージ名は適当に変更して使うのがよいかと。 PLAIN TEXT package org.tarotaro.flash.progression.commands &#123; &#160; &#160; import flash.net.URLRequest; &#160; &#160; import flash.utils.Dictionary; &#160; &#160; import jp.progression.commands.LoadURL; &#160; &#160; &#160; &#160; /** &#160; &#160; * ID管理可能なLoadURLコマンド &#160; &#160; * @author tarotarorg &#160; &#160; */ &#160; &#160; public class LoadURLById extends LoadURL &#123; &#160; &#160; &#160; &#160; &#160; &#160; &#160; &#160; [...]]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/61/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/61" />
	</item>
		<item>
		<title>Progression FrameworkのForLoopとDoTweenerで、ウッヒョーイエー！ダーイ(Die)！</title>
		<link>http://blog.tarotaro.org/archives/60</link>
		<comments>http://blog.tarotaro.org/archives/60#comments</comments>
		<pubDate>Fri, 18 Apr 2008 16:47:10 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/60</guid>
		<description><![CDATA[そんな訳でProgression Frameworkの話。つか、何で俺だけこんなに沢山の問題にぶち当たるのだろうか？やはり開発スタイル間違ってるのか？ さて今回は、ForLoopコマンドでDoTweener実行しようとしたらスタックオーバーフローで死ぬって話。 ■問題と原因 この理由は案外簡単で、実はForLoop使わなくても、多分DoTweener再利用しようとしたら発生すると思う。 原因になってる、DoTweenerのコードはこの部分。 PLAIN TEXT /*======================================================================*//** * @inheritDoc * @langversion 3.0 * @playerversion Flash 9.0.45.0 *//*=======================================================================*/ protected override function _executeProgress&#40;&#41;:void &#123; &#160; &#160; // 既存のイベントハンドラメソッドを保存する &#160; &#160; _onCompleteFunction = tweeningParameters.onComplete;//・・・・・・・(1)-1 &#160; &#160; &#160; &#160; // イベントハンドラメソッドを登録する &#160; &#160; tweeningParameters.onComplete = _onComplete;//・・・・・・・(1)-2 &#160; &#160; &#160; &#160; // アニメーションを開始する &#160; &#160; if &#40; !Tweener.addTween&#40; [...]]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/60/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/60" />
	</item>
		<item>
		<title>Progression Frameworkで、ForLoopコマンドでSerialListを実行させたら死亡事件</title>
		<link>http://blog.tarotaro.org/archives/58</link>
		<comments>http://blog.tarotaro.org/archives/58#comments</comments>
		<pubDate>Thu, 17 Apr 2008 16:13:46 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/58</guid>
		<description><![CDATA[例によってProgression Frameworkの話。今日はForLoopコマンドとSerialListを使って、複数のコマンドを連続実行させようかと企んだが、それはProgression Frameworkの仕組み的に無理だったと言う事がわかって終わったって話。 ■やろうとしたこと ForLoopって言う、コマンドを繰り返し実行してくれるコマンドがあったので、早速使おうと。 で、1個だけコマンド実行されてもあんまり意味ないし、SerialList使ってつなげようと、そう言う訳です。 こんな感じ。勿論、実際に使う時はもっと有益なコマンドを使いますが。 PLAIN TEXT addCommand&#40; &#160; &#160; new ForLoop&#40;10, &#160; &#160; &#160; &#160; new SerialList&#40; &#160; &#160; &#160; &#160; &#160; &#160; new Trace&#40;"コマンド1個目"&#41;, &#160; &#160; &#160; &#160; &#160; &#160; new Trace&#40;"コマンド2個目"&#41; &#160; &#160; &#160; &#160; &#41; &#160; &#160; &#41; &#41;; すると、どうなるか。 理想 コマンド1個目 コマンド2個目 コマンド1個目 コマンド2個目 … コマンド1個目 コマンド2個目 で10回繰り返し [...]]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/58/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/58" />
	</item>
		<item>
		<title>Progression FrameworkのFuncコマンド＋loader.loadでロード失敗すると、もうどうしようもない疑惑</title>
		<link>http://blog.tarotaro.org/archives/54</link>
		<comments>http://blog.tarotaro.org/archives/54#comments</comments>
		<pubDate>Thu, 10 Apr 2008 15:45:19 +0000</pubDate>
		<dc:creator>太郎</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.tarotaro.org/archives/54</guid>
		<description><![CDATA[Progression Frameworkのコマンド使ってみよう大会継続中だが、今回はLoaderクラスとFuncコマンドを使ってロード完了待ちをしようと言うテクニックと、発生した問題点について述べたいと思う。 Funcコマンドを使った方法は、 ProgressionのCommandクラスを使いこなしたいよ（その3） - studio-hedgehog blog via kwout こちらを参考にしてみた。 ■Funcコマンドでデータ読み込み さて、Funcコマンドを使った読み込みだが、このような感じになる。 PLAIN TEXT var loader:CastLoader = new CastLoader&#40;&#41;; loader.contentLoaderInfo..addEventListener&#40;IOErrorEvent.IO_ERROR, function&#40;e:IOErrorEvent&#41;:void &#123; &#160; &#160; trace&#40;"読み込み失敗(IO)：", sceneId, url, e&#41;; &#125;&#41;; loader.contentLoaderInfo.addEventListener&#40;SecurityErrorEvent.SECURITY_ERROR, function&#40;e:SecurityErrorEvent&#41;:void &#123; &#160; &#160; trace&#40;"読み込み失敗(SEC)：", sceneId, url,e&#41;; &#125;&#41;; addCommand&#40; &#160; &#160; new Func&#40;null, loader.load, &#91;new URLRequest&#40;"image.jpg"&#41;&#93;, 0, &#160; &#160; &#160; &#160; &#160; &#160; &#160;loader.contentLoaderInfo, Event.COMPLETE&#41;, [...]]]></description>
		<wfw:commentRss>http://blog.tarotaro.org/archives/54/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<xhtml:link rel="alternate" media="handheld" type="text/html" href="http://blog.tarotaro.org/archives/54" />
	</item>
	</channel>
</rss>

