<?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>planet-ape&#124;blog</title>
	<atom:link href="http://www.planet-ape.net/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://www.planet-ape.net/blog</link>
	<description>We Love WordPress</description>
	<lastBuildDate>Wed, 28 Jul 2010 05:02:43 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Voronoi Face</title>
		<link>http://www.planet-ape.net/blog/archives/884</link>
		<comments>http://www.planet-ape.net/blog/archives/884#comments</comments>
		<pubDate>Wed, 28 Jul 2010 04:16:16 +0000</pubDate>
		<dc:creator>planetape</dc:creator>
				<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/blog/?p=884</guid>
		<description><![CDATA[				久々にガツっとwonderflしたのでブログで解説。
				alumican_netさんのSketch of Voronoi、AquiouxさんのVoronoi Letterに続けとばかりにボロノイをテーマにし [...]]]></description>
			<content:encoded><![CDATA[				<p>久々にガツっとwonderflしたのでブログで解説。<br />
				alumican_netさんの<a href="http://wonderfl.net/c/iNy0">Sketch of Voronoi</a>、Aquiouxさんの<a href="http://wonderfl.net/c/xKnl">Voronoi Letter</a>に続けとばかりにボロノイをテーマにしたwonderflです。<br />
				一人で勝手に「まるで<strong>ボロノイ三兄弟</strong>よ、ククク・・・」とか思ってます（笑<br />
				<span id="more-884"></span></p>
				<div style="text-align:center;width:465px;"><iframe title="Voronoi Face - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/sb5Q" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/c/sb5Q" title="Voronoi Face - wonderfl build flash online">Voronoi Face &#8211; wonderfl build flash online</a></div>
				<p>ボロノイ使った画像エフェクトとしてはPhotoshopのステンドグラスフィルタがあります。<br />
				あれはある程度の間隔を保ったランダムなボロノイ母点を用意して、あとはボロノイ図生成のアルゴリズムさえあれば、比較的簡単に実現する事ができます。<br />
				しかし、それをそのまま再現してもあまり面白くないので別の方法を考えました。</p>
				<p>今回は画像のエッジに注目して、エッジ周辺は細かいボロノイ領域で描画し、それ以外の画像の変化が緩やかな箇所は大きなボロノイ領域で描画する事が出来ないだろうか？と模索しました。<br />
				ちょうど点描画を描くようなイメージです。<br />
				まずは画像のエッジ抽出ですがこれは<a href="http://d.hatena.ne.jp/flashrod/20061015">2値化グレースケールエッジ検出</a>にあったアルゴリズムをそのまま頂きました。<br />
				グレースケール化→ノイズ除去→2値化→エッジ抽出という順番で画像にエフェクトをかけていきますが、2値化の時点で閾値を変えたものをそれぞれエッジ抽出して最後にそれらの画像を副数枚重ね合わて1枚の画像にしました。<br />
				<img src="http://www.planet-ape.net/wp-content/uploads/2010/07/edge.jpg" alt="" title="edge" width="473" height="511" class="alignnone size-full wp-image-875" /></p>
				<p>この時点でなんか面白かったので、副産物的に出来たwonderflがコレ。</p>
				<div style="text-align:center;width:465px;"><iframe title="PsychedelicCam - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/12Rl" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/c/12Rl" title="PsychedelicCam - wonderfl build flash online">PsychedelicCam &#8211; wonderfl build flash online</a></div>
				<p>次にエッジ周辺は細かく、それ以外ではおおざっぱにボロノイ図を描く方法ですが、これは以下のように考えました。</p>
				<ul>
				<li>エッジ抽出した画像を走査してエッジ部分の座標群とそれ以外の座標群にわける。</li>
				<li>あるエッジ以外の座標からエッジの座標までの距離を求め、最小距離のものを保存。</li>
				<li>ボロノイ母点をエッジ以外の座標群から求めるが、座標毎に保存したエッジまでの距離を元に出現確率を変化させる。</li>
				</ul>
				<p>要は、<strong>エッジまでの距離が近い座標ほど高確率で出現させる</strong>、ということです。<br />
				最初に思いついたとき「<strong>俺天才</strong>じゃね？！」とか思いましたが、まあ普通に画像処理の教科書にあると思います。<br />
				で、ボロノイ母点のみを描画したものがコレです（母点数1800）<br />
				<img src="http://www.planet-ape.net/wp-content/uploads/2010/07/points.jpg" alt="" title="points" width="473" height="511" class="alignnone size-full wp-image-879" /></p>
				<p>このボロノイ母点を元にボロノイ図を描画するのですが、自身が使っていたアルゴリズムではボロノイ領域内を任意の色で塗りつぶすのが上手くいかなかったため、kndさんの<a href="http://wonderfl.net/c/vRZn">もっちりボロノイ図</a>のアルゴリズムを使わせてもらいました（fork元です）<br />
				このおかげで<strong>実家の風呂場の模様</strong>というタグを頂くことができました。もっちり！</p>
				<p>本当は<a href="http://www.amazon.co.jp/exec/obidos/ASIN/3874397599/planetape-22/ref=nosim/">Generative Gestaltung</a>にある<a href="http://www.flong.com/projects/yearbook/">Segmentation and Symtpom [S.017]</a>のようなモノクロでのアプローチを考えていたのですが、画像の大きさ、as3の処理能力の限界などで表現に限界があり諦めました。</p>
				<div class="amahoo" rel="3874397599"></div>
				<p>インタラクティブのイの字もなくほんとにFlasherか！という感じで申し訳ないですが、ボロノイ図の描画は母点数が1000を超えるとFlashでリアルタイムに動かすのがキツイのでopenFramework等にベタ移植してwebカメラと連携とかしてみたりとかしたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/884/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DoTextAnimationコマンド(Progrssion4用)を作りました</title>
		<link>http://www.planet-ape.net/blog/archives/862</link>
		<comments>http://www.planet-ape.net/blog/archives/862#comments</comments>
		<pubDate>Thu, 31 Dec 2009 09:49:13 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[BetweenAS3]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/blog/?p=862</guid>
		<description><![CDATA[				普段はいうほどFlashを触ってないので「年末年始は逆にいっぱいFlash触ろう！」的なやつの第1弾です（2弾以降続く保証は全くないです）。
				ランダムにテキストがピロピロ？とアニメーションする、よく見るエ [...]]]></description>
			<content:encoded><![CDATA[				<p>普段はいうほどFlashを触ってないので「年末年始は逆にいっぱいFlash触ろう！」的なやつの第1弾です（2弾以降続く保証は全くないです）。<br />
				ランダムにテキストがピロピロ？とアニメーションする、よく見るエフェクトをProgression4用のコマンドとして作ってみました。<br />
				<span id="more-862"></span><br />
				<a href="http://wonderfl.net/code/31708cc4caa15c0ba3c37ab098bc33fab677de12">wonderflに実装例</a>が既にあるのでそれを元に作ろうと思ったのですが、あまり自由度が無い感じでアニメーション自体もイマイチ好みじゃないので別実装しました。</p>
				<p>ソース（zip）<br />
				・<a href='http://www.planet-ape.net/wp-content/uploads/2009/12/DoTextAnimation.as_.zip'>DoTextAnimation.as</a><br />
				※別途<a href="http://www.libspark.org/wiki/BetweenAS3/en">BetweenAS3ライブラリ</a>が必要です。</p>
				<p>以下、サンプルと使用例のasです。</p>
				<p><div style="text-align: center; width:200px; height:25px; line-height:25px; background: #ffffff;"><div id="swfcaf62">This movie requires Flash Player 9.0.0</div></div>
				<script type="text/javascript">
					swfobject.embedSWF("http://www.planet-ape.net/wp-content/uploads/2009/12/Sample.swf", "swfcaf62", "200", "25", "9.0.0", "http://www.planet-ape.net/kjFavmAascPn9aB/wp-content/plugins/wp-al-swfobject/expressInstall.swf", {}, {}, {});
				</script>
				</p>
				<pre class="brush: as">
package {
	import jp.progression.commands.lists.LoopList;
	import org.libspark.betweenas3.easing.Expo;
	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.text.TextField;

	/**
	 * @author fumix
	 */
	 [SWF(backgroundColor="#FFFFFF", frameRate="30", width="200", height="25")]
	public class Sample extends MovieClip {
		private var tf : TextField;

		public function Sample() {
			addEventListener(Event.ADDED_TO_STAGE, _initialize);
		}

		private function _initialize(event : Event) : void {
			tf = new TextField();
			tf.x = tf.y = 5;
			addChild(tf);
			var loop:LoopList = new LoopList();
			loop.addCommand(
				new DoTextAnimation(tf, "Hello World!!","welcome to www.planet-ape.net!",
					{
						step: 4,
						time: 3,
						characters: "0123456789-#",
						transition: Expo.easeInOut
					}),
				new DoTextAnimation(tf, "welcome to www.planet-ape.net!","Hello World!!",
					{
						step: 4,
						time: 3,
						delay: 1,
						//characters: "0123456789-#",
						transition: Expo.easeInOut
					})
			);
			loop.execute();
		}
	}
}
</pre>
				<p>LoopList内に2つDoTextAnimationを設置してループさせています。<br />
				第1引数が対象となるTextField、第2引数が変化前のテキスト、第3引数が変化後のテキストとなり、この3つは必須です。<br />
				それ以降のObjectはプロパティ名から何となく分かると思います（ぉ）。<br />
				Objectは全くなくても動作します。</p>
				<p>元ネタ：<a href="http://labs.hellokeita.com/2007/09/20/textanimation/">labs.hellokeita.com » TextAnimation</a><br />
				ゼロから実装できるほどas得意じゃないんで、元ネタ有りです。<br />
				はい、もうTextAnimationの元祖的な感じです。<br />
				元ネタはtransition自体も自力実装だったのですが・・・すいません、BetweenAS3使ってます。</p>
				<p>自分で言うのもなんですが、なかなか良さげなコマンドができました。<br />
				初めてまともに使えそうなコマンドになったなあ、と。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/862/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>超速ボロノイ図 (Fortune&#8217;s algorithm)</title>
		<link>http://www.planet-ape.net/blog/archives/856</link>
		<comments>http://www.planet-ape.net/blog/archives/856#comments</comments>
		<pubDate>Sun, 27 Dec 2009 02:34:17 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[voronoi]]></category>
		<category><![CDATA[wonderfl]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=856</guid>
		<description><![CDATA[				ドロネー図を作ったのならボロノイ図も作るでしょうってことで、前回のものから間が空きましたがボロノイ図をwonderflにて作りました。
				
				超速ボロノイ図（Fortune&#8217;s algor [...]]]></description>
			<content:encoded><![CDATA[				<p>ドロネー図を作ったのならボロノイ図も作るでしょうってことで、前回のものから間が空きましたがボロノイ図をwonderflにて作りました。<br />
				<span id="more-856"></span></p>
				<div style="text-align:center;width:465px;"><iframe title="超速ボロノイ図（Fortune's algorithm） - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/1b53ccd79d8620d235f03ed4cd9e821912879f9e" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/1b53ccd79d8620d235f03ed4cd9e821912879f9e" title="超速ボロノイ図（Fortune's algorithm） - wonderfl build flash online">超速ボロノイ図（Fortune&#8217;s algorithm） &#8211; wonderfl build flash online</a></div>
				<p>ボロノイ図を描く方法はいくつかあるのですが、今回はFortune&#8217;s algorithmと呼ばれるアルゴリズムを用いて描画してみました。<br />
				・<a href="http://en.wikipedia.org/wiki/Fortune's_algorithm">Fortune&#8217;s algorithm &#8211; Wikipedia, the free encyclopedia</a><br />
				・<a href="http://atom.is.ocha.ac.jp/~kanenko/KOUGI/CompGeo/cpgeob.pdf">日本語の資料1（PDF）</a><br />
				・<a href="http://i-health.u-aizu.ac.jp/CompuGeo/2008/handouts/chapter4/Chapter4H.pdf">日本語の資料2（PDF）</a></p>
				<p>Fortune&#8217;s algorithmは他のボロノイ図描画アルゴリズムに比べてかなり速く、800個程度の母点を設置してもfpsが落ちること無く動作します。<br />
				と偉そうに書いてますが、下記サイトにあったasをまるパクリしています。<br />
				・<a href="http://blog.controul.com/2009/05/speedy-voronoi-diagrams-in-as3flash/">Controul > Speedy Voronoi diagrams in as3/flash</a></p>
				<p>ぶっちゃけソースが追えません（ぇー）<br />
				識者の方に解説をお願いしたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/856/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ドロネーたん</title>
		<link>http://www.planet-ape.net/blog/archives/853</link>
		<comments>http://www.planet-ape.net/blog/archives/853#comments</comments>
		<pubDate>Mon, 23 Nov 2009 17:09:25 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[wonderfl]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=853</guid>
		<description><![CDATA[				※萌え擬人化の予定はありません。
				何となくドロネー図がマイブームだったので色々調べて作ってみました。
				車輪の再開発どころの騒ぎじゃないですが・・・。
				
				ドロネー図（分割） &#82 [...]]]></description>
			<content:encoded><![CDATA[				<p><strong>※萌え擬人化の予定はありません。</strong><br />
				何となく<a href="http://ja.wikipedia.org/wiki/%E3%83%89%E3%83%AD%E3%83%8D%E3%83%BC%E5%9B%B3">ドロネー図</a>がマイブームだったので色々調べて作ってみました。<br />
				車輪の再開発どころの騒ぎじゃないですが・・・。<br />
				<span id="more-853"></span></p>
				<div style="text-align:center;width:465px;"><iframe title="ドロネー図（分割） - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/97abee157680ac24ce5596c4f99105c61e1f7571" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/97abee157680ac24ce5596c4f99105c61e1f7571" title="ドロネー図（分割） - wonderfl build flash online">ドロネー図（分割） &#8211; wonderfl build flash online</a></div>
				<p>三角形の<a href="http://ja.wikipedia.org/wiki/%E5%A4%96%E6%8E%A5%E5%86%86">外接円</a>を求めるのをどうしようかなー、連立方程式解くのめんどうだなあ・・・とtwitterでつぶやいたら、<a href="http://wonderfl.net/code/ad8b6c5010abdb44d3e34d3a7cd06a200b35175d">さくっと作って</a>いただきました。<br />
				大感謝です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/853/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FDTを日本語化する for windows</title>
		<link>http://www.planet-ape.net/blog/archives/841</link>
		<comments>http://www.planet-ape.net/blog/archives/841#comments</comments>
		<pubDate>Fri, 20 Nov 2009 18:09:54 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[日本語化]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=841</guid>
		<description><![CDATA[				
				日本ではまだマイナーなactionscript開発環境であるFDTの日本語化に挑戦してみました。
				ちなみにwindows xpの場合です。
				FDTはEclipseのプラグインとしても動作 [...]]]></description>
			<content:encoded><![CDATA[				<p><img src="http://www.planet-ape.net/wp-content/uploads/2009/11/japnese.jpg" alt="japnese" title="japnese" width="540" height="230" class="alignnone size-full wp-image-842" /><br />
				日本ではまだマイナーなactionscript開発環境である<a href="http://www.fdt.powerflasher.com/">FDT</a>の日本語化に挑戦してみました。<br />
				ちなみにwindows xpの場合です。</p>
				<p>FDTはEclipseのプラグインとしても動作しますので、あらかじめ日本語化したEclipseにプラグインとしてFDTを導入して日本語化する方法があります。<br />
				ex.<a href="http://log.sncr.jp/FDT/6/">FDT を日本語環境で使う手順 ( Mac OS X Snow Leopard の場合 ) | FDT | log.sncr.jp</a></p>
				<p>しかしながら、すでにFDT単体として動かしている環境に入れたい！ということで、別の方法でいくことにしました。<br />
				以下手順を追って説明します。<br />
				ちなみにFDTは既にインストール済みとします。<br />
				※<a href="http://www.planet-ape.net/archives/799">FDTのインストール方法（windows）</a><br />
				<span id="more-841"></span></p>
				<h3>Pleiades（Eclipse日本語化プラグイン）の入手</h3>
				<p><a href="http://mergedoc.sourceforge.jp/">Pleiades &#8211; Eclipse プラグイン日本語化プラグイン</a><br />
				上記サイトよりPleiadesプラグインをダウンロードします。<br />
				<img src="http://www.planet-ape.net/wp-content/uploads/2009/11/download.jpg" alt="download" title="download" width="530" height="340" class="alignnone size-full wp-image-845" /><br />
				派手なボタンでダウンロードを促す「Pleiades All in One 日本語ディストリビューション」からダウンロードしてしまいがちなのですが、こちらはあくまで<strong>日本語化されたEclipseパッケージ</strong>です。<br />
				手っ取り早く日本語化されたEclipseが欲しい場合はこちらがオススメですが、今回は既にあるFDTを日本語化するので上記画像の<strong>赤枠</strong>で囲まれたところから<strong>Pleiadesプラグインのみ</strong>をダウンロードします。</p>
				<h3>PleiadesをFDTに適用する</h3>
				<p><img src="http://www.planet-ape.net/wp-content/uploads/2009/11/pluguns.jpg" alt="pluguns" title="pluguns" width="498" height="195" class="alignnone size-full wp-image-849" /><br />
				ダウンロードしたPleiadesを解凍すると上記のようなファイル構成となります（背景色キモいとかいうな）。<br />
				この中から<strong>赤枠</strong>で囲まれた2つのフォルダの<strong>中身</strong>をFDTをインストールしたフォルダ内の同名のフォルダにコピーします（下記画像参照）。</p>
				<h3>FDT 3.iniを編集する</h3>
				<p><img src="http://www.planet-ape.net/wp-content/uploads/2009/11/fdt.jpg" alt="fdt" title="fdt" width="494" height="298" class="alignnone size-full wp-image-850" /><br />
				上記はFDTをインストールしたフォルダです。<br />
				<strong>赤枠</strong>で囲ったFDT 3.iniを編集することでPleiadesを有効化させます。<br />
				ダウンロードしたPleiadesのreadmeフォルダ内にあるreadme_pleiades.txtに詳しい編集方法が記載されていますが、手っ取り早く、下記の一文をFDT 3.iniの末に追加してください。</p>
				<p>-javaagent:plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar<br />
				(windowsの場合)</p>
				<p>相対パスで指定する場合<br />
				-javaagent:../../../plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar<br />
				絶対パスで指定する場合<br />
				-javaagent:/Applications/eclipse/plugins/jp.sourceforge.mergedoc.pleiades/pleiades.jar<br />
				(macの場合)</p>
				<p>設定は以上で終了です。<br />
				FDTを立ち上げると日本語化されているはずです！<br />
				ちなみに、私の環境（windows）では最新のFDTである3.5betaでも日本語化に成功しましたが、一部エラーが出るとの話もあるようですので、あくまで自己責任でお願いします。<br />
				あ！もし失敗して環境が壊れてしまっても戻せるように必ずバックアップをとってたから作業をしてください！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/841/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FDTでProgression4用のテンプレートを作ってみた</title>
		<link>http://www.planet-ape.net/blog/archives/830</link>
		<comments>http://www.planet-ape.net/blog/archives/830#comments</comments>
		<pubDate>Sun, 15 Nov 2009 16:41:12 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=830</guid>
		<description><![CDATA[				FlashDevelop（FD）にあるProgression4用のテンプレート機能拡張がうらやましかったので、FDTでも同様のことが出来るようなテンプレートを作ってみました。
				
				asエディタをFD [...]]]></description>
			<content:encoded><![CDATA[				<p>FlashDevelop（FD）にある<a href="http://flabaka.com/blog/?p=1658">Progression4用のテンプレート機能拡張</a>がうらやましかったので、FDTでも同様のことが出来るようなテンプレートを作ってみました。<br />
				<span id="more-830"></span><br />
				asエディタをFDからFDTに移行してから、Progressionコンテンツを作成するときはプロジェクト生成時に作られるTemplates内のそれぞれのasファイルをコピーして使っていました。<br />
				しかしながら、さっすがに面倒になってきたので<strong>FDTの強力なテンプレート機能</strong>を使ってProgression4用のテンプレートを作りました。</p>
				<h3>ダウンロード</h3>
				<p><a href='http://www.planet-ape.net/wp-content/uploads/2009/11/templates.zip'>templates.zip</a></p>
				<p>ファイルをダウンロードして解凍後、出来たxmlをPreferences＞Templates＞Importで読み込みます。<br />
				読み込まれるとTemplatesメニューの一覧に以下のように追加されます。<br />
				<img src="http://www.planet-ape.net/wp-content/uploads/2009/11/template.png" alt="template" title="template" width="463" height="326" class="alignnone size-full wp-image-832" /><br />
				反転してるところが追加されたテンプレートです。<br />
				Descriptionが日本語とかありえねえwwwとかNameが変wwwとかの場合はEditボタンを押せば変更できますので好きなモノに変えると良いです。</p>
				<p>FDと違って新規asファイル作成時にテンプレートを選ぶことはできません。<br />
				新規asファイルはクラスかインターフェイスしか作れませんので、クラスでとりあえずasファイルを作ります。<br />
				出来たクラスファイルから記述してあるモノをすべて消して、Nameで指定した文言（ex:pcastsprite）を打てば補完候補に出てきますので、選択するとProgressionのテンプレートがドバーっと書き出されます。<br />
				packageもclassもコントラクタも全部補完された形で生成されるので、非常に便利です。</p>
				<p>FDと同じように新規作成時に自動で生成できると良いのですが・・・Antという仕組み（マクロみたいなもん？）を使えば出来そうなのですがAntをまだ分かっていないのでそこまできませんでした。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/830/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>QuickBox2Dの練習その2</title>
		<link>http://www.planet-ape.net/blog/archives/826</link>
		<comments>http://www.planet-ape.net/blog/archives/826#comments</comments>
		<pubDate>Sun, 25 Oct 2009 11:02:18 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[Box2D]]></category>
		<category><![CDATA[QuickBox2D]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=826</guid>
		<description><![CDATA[				
				いっぱい出してみた
				
				QuickObjectを配列に突っ込んでforループでまわしてるんですが、これで良いのかなあ？？
				無駄にソースが長いです。
				
package {
	import flash.events.MouseEvent;

	import Box2D.Common.Math.b2Vec2;
	import Box2D.Dynamics.Joints.b2RevoluteJoint;

	import com.actionsnippet.qbox.QuickBox2D;
	import com.actionsnippet.qbox.QuickObject;

	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;

	[SWF(width = 640, height = 480, backgroundColor = 0x222222, frameRate = 60)]

	/**
	 * @author fumix
	 */
	public class Main extends MovieClip {
		private var sim : QuickBox2D;
		private var objectArray:Array;
		private var debugTextField : TextField;

		/**
		 * コンストラクタ
		 */
		public function Main() {
			//ボタン設置
			var resetButtonText : TextField = new TextField();
			resetButtonText.selectable = false;
			resetButtonText.text  [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.planet-ape.net/ga/ga001.html"><img src="http://www.planet-ape.net/wp-content/uploads/2009/10/box2d1.jpg" alt="box2d" title="box2d" width="540" height="230" class="alignnone size-full wp-image-827" /><br />
				いっぱい出してみた</a><br />
				<span id="more-826"></span><br />
				QuickObjectを配列に突っ込んでforループでまわしてるんですが、これで良いのかなあ？？<br />
				無駄にソースが長いです。</p>
				<pre class="brush: as">
package {
	import flash.events.MouseEvent;

	import Box2D.Common.Math.b2Vec2;
	import Box2D.Dynamics.Joints.b2RevoluteJoint;

	import com.actionsnippet.qbox.QuickBox2D;
	import com.actionsnippet.qbox.QuickObject;

	import flash.display.MovieClip;
	import flash.events.Event;
	import flash.text.TextField;
	import flash.text.TextFieldAutoSize;

	[SWF(width = 640, height = 480, backgroundColor = 0x222222, frameRate = 60)]

	/**
	 * @author fumix
	 */
	public class Main extends MovieClip {
		private var sim : QuickBox2D;
		private var objectArray:Array;
		private var debugTextField : TextField;

		/**
		 * コンストラクタ
		 */
		public function Main() {
			//ボタン設置
			var resetButtonText : TextField = new TextField();
			resetButtonText.selectable = false;
			resetButtonText.text = "リセット";
			resetButtonText.autoSize = TextFieldAutoSize.LEFT;
			resetButtonText.background = true;
			resetButtonText.backgroundColor = 0x666666;
			resetButtonText.border = true;
			resetButtonText.x = 20;
			resetButtonText.y = 20;
			addChild(resetButtonText);
			resetButtonText.addEventListener(MouseEvent.CLICK, onRestButtonClick);
			//テキストエリア設置
			debugTextField = new TextField();
			debugTextField.textColor = 0xFFFFFF;
			debugTextField.multiline = true;
			debugTextField.width = 200;
			debugTextField.height = 150;
			debugTextField.x = 20;
			debugTextField.y = 40;
			addChild(debugTextField);

			//QuickBox2D初期設定
			sim = new QuickBox2D(this);
			sim.setDefault({fillColor:0x000000, lineColor:0xCCCCCC});
			sim.createStageWalls();

			//オブジェクト10個生成
			objectArray = new Array();
			for (var i : int = 0; i < 10; i++) {
				objectArray.push(creatObject());
			}
			//各ジョイントの回転角度制限
			for (i = 0;i < objectArray.length;i++) {
				resetObject(objectArray[i]);
			}
			//各ジョイントの角速度設定
			for (i = 0;i < objectArray.length;i++) {
				setWalkDir(3,objectArray[i]);
			}

			//フレーム毎の動き
			addEventListener(Event.ENTER_FRAME, onLoop);
			//スタート
			sim.start();
			sim.mouseDrag();
		}

		private function onRestButtonClick(event : MouseEvent) : void {
			//各ジョイントの回転角度制限
			for (var i:int = 0;i < objectArray.length;i++) {
				resetObject(objectArray[i]);
			}
		}

		/**
		 * オブジェクトの生成
		 */
		private function creatObject() : Object {
			sim.setDefault({fillColor:0x000000, lineColor:0xCCCCCC});
			var legA : QuickObject = sim.addBox({x:20, y:5, width:1.5, height:0.3, groupIndex:-2});
			var legB : QuickObject = sim.addBox({x:20 + 1.3, y:5, width:1.5, height:0.3, groupIndex:-2});
			var legC : QuickObject = sim.addBox({x:20 + 1.3 * 2, y:5, width:1.5, height:0.3, groupIndex:-2});
			var legD : QuickObject = sim.addBox({x:20 + 1.3 * 3, y:5, width:1.5, height:0.3, groupIndex:-2});
			//ジョイントの設置
			sim.setDefault({type:"revolute"});
			var anchorX : Number = legA.x + (legB.x - legA.x) / 2;
			var anchorY : Number = legA.y;
			var revJointA : QuickObject = sim.addJoint({enableLimit:true, a:legA.body, b:legB.body, x1:anchorX, y1:anchorY, enableMotor:true, maxMotorTorque:80});

			anchorX = legB.x + (legC.x - legB.x) / 2;
			var revJointB : QuickObject = sim.addJoint({enableLimit:true, a:legB.body, b:legC.body, x1:anchorX, y1:anchorY, enableMotor:true, maxMotorTorque:80});

			anchorX = legC.x + (legD.x - legC.x) / 2;
			var revJointC : QuickObject = sim.addJoint({enableLimit:true, a:legC.body, b:legD.body, x1:anchorX, y1:anchorY, enableMotor:true, maxMotorTorque:80});

			return {a:legA,b:legB, c:legC, d:legD, jointA:revJointA, jointB:revJointB, jointC:revJointC};
		}

		private function resetObject(obj:Object) : void {
			var j : b2RevoluteJoint;
			var legA:QuickObject = obj.a;
			var legB:QuickObject = obj.b;
			var legC:QuickObject = obj.c;
			var legD:QuickObject = obj.d;
			var revJointA:QuickObject = obj.jointA;
			var revJointB:QuickObject = obj.jointB;
			var revJointC:QuickObject = obj.jointC;

			var angleA : Number = Math.PI * Math.random();
			j = revJointA.joint as b2RevoluteJoint;
			j.SetLimits(-angleA, angleA);

			var angleB : Number = Math.PI * Math.random();
			j = revJointB.joint as b2RevoluteJoint;
			j.SetLimits(-angleB, angleB);

			var angleC : Number = Math.PI * Math.random();
			j = revJointC.joint as b2RevoluteJoint;
			j.SetLimits(-angleC, angleC);

			debugTextField.htmlText = 'A:' + angleA * 180 / Math.PI;
			debugTextField.htmlText += 'B:' + angleB * 180 / Math.PI;
			debugTextField.htmlText += 'C:' + angleC * 180 / Math.PI;

			//速度をリセット
			var v : b2Vec2 = legA.body.GetLinearVelocity();
			v.Set();
			legA.body.SetLinearVelocity(v);
			legB.body.SetLinearVelocity(v);
			legC.body.SetLinearVelocity(v);
			legD.body.SetLinearVelocity(v);
			legA.setLoc(15, 5);
			legB.setLoc(15+1.3, 5);
			legC.setLoc(15+1.3*2, 5);
			legD.setLoc(15+1.3*3, 5);
		}

		private function onLoop(event : Event) : void {
			//setWalkDir(2);
			for (var i:int = 0;i < objectArray.length;i++) {
				repeatWalk(objectArray[i]);
			}
		}

		private function setWalkDir(dir : Number,obj:Object) : void {
			var j : b2RevoluteJoint;
			var revJointA:QuickObject = obj.jointA;
			var revJointB:QuickObject = obj.jointB;
			var revJointC:QuickObject = obj.jointC;

			j = revJointA.joint as b2RevoluteJoint;
			j.SetMotorSpeed(dir);
			j = revJointB.joint as b2RevoluteJoint;
			j.SetMotorSpeed(dir * -1);
			j = revJointC.joint as b2RevoluteJoint;
			j.SetMotorSpeed(dir);
		}

		private function repeatWalk(obj:Object) : void {
			var revJointA:QuickObject = obj.jointA;
			var revJointB:QuickObject = obj.jointB;
			var revJointC:QuickObject = obj.jointC;
			var j : b2RevoluteJoint;
			j = revJointA.joint as b2RevoluteJoint;
			if(j.GetLowerLimit() > j.GetJointAngle() || j.GetUpperLimit() < j.GetJointAngle()) j.SetMotorSpeed(j.GetMotorSpeed() * -1);
			j = revJointB.joint as b2RevoluteJoint;
			if(j.GetLowerLimit() > j.GetJointAngle() || j.GetUpperLimit() < j.GetJointAngle()) j.SetMotorSpeed(j.GetMotorSpeed() * -1);
			j = revJointC.joint as b2RevoluteJoint;
			if(j.GetLowerLimit() > j.GetJointAngle() || j.GetUpperLimit() < j.GetJointAngle()) j.SetMotorSpeed(j.GetMotorSpeed() * -1);
		}
	}
}
</pre>
				</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/826/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>QuickBox2Dの練習</title>
		<link>http://www.planet-ape.net/blog/archives/821</link>
		<comments>http://www.planet-ape.net/blog/archives/821#comments</comments>
		<pubDate>Sun, 18 Oct 2009 10:06:32 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[Box2D]]></category>
		<category><![CDATA[QuickBox2D]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=821</guid>
		<description><![CDATA[				
				QuickBox2Dの練習
				
				物理シミュレーションエンジンライブラリであるBox2DFlashAS3をもっと簡単に扱うことができるQuickBox2Dライブラリを使って、なんかうにょうに [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://www.planet-ape.net/ga/"><img src="http://www.planet-ape.net/wp-content/uploads/2009/10/box2d.jpg" alt="box2d" title="box2d" width="540" height="230" class="alignnone size-full wp-image-822" /><br />
				QuickBox2Dの練習</a><br />
				<span id="more-821"></span><br />
				物理シミュレーションエンジンライブラリである<a href="http://sourceforge.net/projects/box2dflash">Box2DFlashAS3</a>をもっと簡単に扱うことができる<a href="http://actionsnippet.com/?page_id=1391">QuickBox2D</a>ライブラリを使って、なんかうにょうにょと動く物体を作ってみました。<br />
				「リセット」ボタンをクリックすることで、関節（？）の可動範囲がランダムでかわります。<br />
				いったいこれは何なの？という感じですが、これはまだテスト段階ですので・・・。</p>
				<p><a href="http://blog.alumican.net/2009/06/28_021753">blog.alumican.net » Blog Archive » QuickBox2D はじめの第一歩</a><br />
				<a href="http://blog.alumican.net/tag/quickbox2d">blog.alumican.net » QuickBox2D</a><br />
				上記した2エントリーが非常に参考になりました。</p>
				<p>wonderflにもQuickBox2D採用されると物理シミュレーションもののFlashコンテンツが非常に手軽に作れるんですけどねー。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/821/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash制作に欠かせない３つのツール：便乗</title>
		<link>http://www.planet-ape.net/blog/archives/813</link>
		<comments>http://www.planet-ape.net/blog/archives/813#comments</comments>
		<pubDate>Wed, 14 Oct 2009 18:06:21 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[Fireworks]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=813</guid>
		<description><![CDATA[				カヤックさんのlevel0において、Flash制作に欠かせない３つのツールというお題で一斉エントリーがあったのに便乗して、私の使っているツールを紹介します。
				すでにたくさんの方がエントリーをあげていて、か [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://level0.kayac.com/">カヤックさんのlevel0</a>において、Flash制作に欠かせない３つのツールというお題で一斉エントリーがあったのに便乗して、私の使っているツールを紹介します。<br />
				すでにたくさんの方がエントリーをあげていて、かなり出遅れた感はありますが・・・。<br />
				<span id="more-813"></span><br />
				<img src="http://www.planet-ape.net/wp-content/uploads/2009/10/0001.jpg" alt="0001" title="0001" width="540" height="230" class="alignnone size-full wp-image-814" /></p>
				<h3><a href="http://www.fdt.powerflasher.com/">1.FDT</a></h3>
				<p><a href="http://flashdevelop.jp/">FD</a>使って良いのは小学s(ry)ってことで、これだけ便乗エントリーが上がっていながら名前が出てこないマイナーエディタであるFDTを使っています。<br />
				有料なんで無償で提供されているFDに比べて敷居が高いというのは、まあわかります。<br />
				個人的にはFDより補完が強力だと思っていて、だいたい2〜3文字打ってからctrl+spaceか変数名等にカーソル合わせてctrl+1を押せばイベントリスナーだろうが変数だろうが何でもバッキバキに補完して追加してくれます。<br />
				おかげでas3が覚えられず、wonderfl等でソラでas書くことが全く出来ません。<br />
				FlexSDKを導入しないと単体ではswfをパブリッシュできないFDと違ってFDTはSDKも込みでインストールされ、単体でswfのパブリッシュまで出来るので、なにげにFDより開発環境を整えるのは楽だったりもします。<br />
				FDも良いですが、FDTも使ってみてほしいなーと思います。</p>
				<h3><a href="http://web.r-studio.jp/flash_command.html">2.「選択中のフレーム数表示・変更」コマンド</a></h3>
				<p>オールドタイプのFlasherなのでタイムラインが大好きだったりします。<br />
				演出等タイムラインでのアニメーションで行うことも多く、フレーム数を数えて揃えたりすることも良くします。<br />
				そのときに、今まではタイムライン上のフレーム数をモニタに指を当てて「1、2、3・・・」と数えてたりしたのですが非常に面倒くさく何かないかなあ？と思っていたときに（たしか）Twitter経由で教えてもらったjsflコマンドです。<br />
				jsflコマンドはこの他にも画面上に配置したムービークリップにプリフィックス付きの連番で名前をつけてくれるコマンドとかもよく使います。</p>
				<h3><a href="http://www.adobe.com/jp/products/fireworks/">3.Fireworks</a></h3>
				<p>ちなみにFlash共々まだCS3です（ぇー）<br />
				社内ではFirewoks使ってるのは自分一人で他のデザイナーは全員Photoshop使いで、肩身の狭い思いをしています。<br />
				世間的にもそんな感じですよね・・・adobeのサイトからもおすすめ製品から外されていますし・・・。<br />
				ビットマップもベクターも「同時に程々に」使え、変更・修正にも強く、Flashとの連携もPhotoshopよりはマシだし、web用の画像を生成するのにこれほど使い勝手のよいツールはないんじゃないかと思っているのですが、マイナーツールですか、そうですか。<br />
				<a href="http://www.adobe.com/jp/showcase/ficc.html">Adobe ケーススタディー : FICCが感じるAdobe CS4の良さ</a><br />
				上記のようなFireworks使いに希望の光を与えてくれるような記事もありますが、実際CS5以降ではどうなるんですかね・・・Flashの行く末なんかより、よっぽど心配なFireworksの行く末です。</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/813/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>FDT(pure)のインストールについて for windows</title>
		<link>http://www.planet-ape.net/blog/archives/799</link>
		<comments>http://www.planet-ape.net/blog/archives/799#comments</comments>
		<pubDate>Fri, 10 Jul 2009 04:44:10 +0000</pubDate>
		<dc:creator>fumix</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[actionscript3.0]]></category>
		<category><![CDATA[editer]]></category>
		<category><![CDATA[FDT]]></category>
		<category><![CDATA[開発環境]]></category>

		<guid isPermaLink="false">http://www.planet-ape.net/?p=799</guid>
		<description><![CDATA[				Powerflasher Solutions &#62;&#62; Pure Coding Comfort
				actionscriptエディタ（というか開発環境？）であるFDTをインストールして動かすまでの手順 [...]]]></description>
			<content:encoded><![CDATA[				<p><a href="http://fdt.powerflasher.com/">Powerflasher Solutions &gt;&gt; Pure Coding Comfort</a><br />
				actionscriptエディタ（というか開発環境？）であるFDTをインストールして動かすまでの手順です。<br />
				忘れないように自分用メモ。<br />
				ちなみにWindows（ｘｐ）です。<br />
				<span id="more-799"></span></p>
				<h3>起動できるようにする</h3>
				<p>上記したサイトからスタンドアローン版をダウンロードしてインストールしても、エラーってしまい起動できない（ぇー）ので、まずは起動できるようにインストールしたディレクトリ直下にある<strong>FDT 3.ini</strong>を編集。</p>
				<pre class="brush: xml">
-Xmx768m
　　↓
-Xmx512m
</pre>
				<p>※これで起動できるようになる。</p>
				<h3>Vector型等のplayer10からの機能を動かせるようにする。</h3>
				<p>適当なプロジェクトを作った後に、<strong>Project > Properties > FDT Build Path > Library</strong>と進み<strong>ChangeCoreLibrary</strong>を押す。<br />
				<strong>KnownLibraries</strong>から「～ _for_FP_10」を選ぶとVector型等の補完が効くようになる。<br />
				※ただし、コンパイルするとエラーになる。</p>
				<h3>コンパイルが通るようにする</h3>
				<p>インストールしたディレクトリ\plugins\com.powerflasher.fdt.shippedflex_3.3.0.4852_1000\flex\frameworks\flex-config.xmlを編集。<br />
				17行目付近</p>
				<pre class="brush: xml">
&lt;target-player&gt;9.0.124&lt;/target-player&gt;
       &#8595;
&lt;target-player&gt;10.0.0&lt;/target-player&gt;
</pre>
				<p>とする</p>
				<h3>コンパイル後にplayerが立ち上がるようにする。</h3>
				<p><a href="http://blog.cellfusion.jp/archives/693/">cellfusion blog » FDT 導入後に必要な作業</a><br />
				インストールしたディレクトリ\plugins\com.powerflasher.fdt.shippedflex_3.3.0.4852_1000\flex\bin\jvm.configを編集<br />
				31行目付近</p>
				<pre class="brush: xml">
java.args=-Xmx384m -Dsun.io.useCanonCaches=false
      ↓
java.args=-Xmx384m -Dsun.io.useCanonCaches=false -Duser.language=en -Duser.region=US
</pre>
				<p>終わり！</p>
]]></content:encoded>
			<wfw:commentRss>http://www.planet-ape.net/blog/archives/799/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
	</channel>
</rss>
