<?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>Hi-farm blog &#187; Flash</title>
	<atom:link href="http://blog.hi-farm.net/tag/flash/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.hi-farm.net</link>
	<description>ActionScript 3.0 , AIR , FLEXからCocoa, OpenGL</description>
	<lastBuildDate>Sat, 07 Jan 2012 14:26:20 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Flash OOP勉強会「FlashとDIYで作る、自作マルチタッチディスプレイ」</title>
		<link>http://blog.hi-farm.net/2009/02/26/flash-oop%e5%8b%89%e5%bc%b7%e4%bc%9a%e3%80%8cflash%e3%81%a8diy%e3%81%a7%e4%bd%9c%e3%82%8b%e3%80%81%e8%87%aa%e4%bd%9c%e3%83%9e%e3%83%ab%e3%83%81%e3%82%bf%e3%83%83%e3%83%81%e3%83%87%e3%82%a3%e3%82%b9/</link>
		<comments>http://blog.hi-farm.net/2009/02/26/flash-oop%e5%8b%89%e5%bc%b7%e4%bc%9a%e3%80%8cflash%e3%81%a8diy%e3%81%a7%e4%bd%9c%e3%82%8b%e3%80%81%e8%87%aa%e4%bd%9c%e3%83%9e%e3%83%ab%e3%83%81%e3%82%bf%e3%83%83%e3%83%81%e3%83%87%e3%82%a3%e3%82%b9/#comments</comments>
		<pubDate>Wed, 25 Feb 2009 18:41:39 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[Actionscript3]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[Device]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[MultiTouch]]></category>
		<category><![CDATA[OOP]]></category>

		<guid isPermaLink="false">http://blog.hi-farm.net/?p=113</guid>
		<description><![CDATA[
			
				
			
		
2009年2月25日に開催された、第31回Flash OOP 勉強会に行ってきました。

場所：
サイバーエージェントビル1F セミナースペース
4万円ほどで作れるマルチタッチディスプレ [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2009%2F02%2F26%2Fflash-oop%25e5%258b%2589%25e5%25bc%25b7%25e4%25bc%259a%25e3%2580%258cflash%25e3%2581%25a8diy%25e3%2581%25a7%25e4%25bd%259c%25e3%2582%258b%25e3%2580%2581%25e8%2587%25aa%25e4%25bd%259c%25e3%2583%259e%25e3%2583%25ab%25e3%2583%2581%25e3%2582%25bf%25e3%2583%2583%25e3%2583%2581%25e3%2583%2587%25e3%2582%25a3%25e3%2582%25b9%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2009%2F02%2F26%2Fflash-oop%25e5%258b%2589%25e5%25bc%25b7%25e4%25bc%259a%25e3%2580%258cflash%25e3%2581%25a8diy%25e3%2581%25a7%25e4%25bd%259c%25e3%2582%258b%25e3%2580%2581%25e8%2587%25aa%25e4%25bd%259c%25e3%2583%259e%25e3%2583%25ab%25e3%2583%2581%25e3%2582%25bf%25e3%2583%2583%25e3%2583%2581%25e3%2583%2587%25e3%2582%25a3%25e3%2582%25b9%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p><span>2009年2月25日に開催された、第31回Flash OOP </span>勉強会に行ってきました。</p>
<p><img class="aligncenter size-medium wp-image-110" title="�׋���̕��i" src="http://blog.hi-farm.net/wp-content/uploads/2009/02/img_0409-300x225.jpg" alt="�׋���̕��i" width="300" height="225" /></p>
<p><span>場所：</span></p>
<p><span>サイバーエージェントビル1F セミナースペース</span></p>
<p><span>4万円ほどで作れるマルチタッチディスプレイということで、マルチタッチのデバイスを自作して、ActionScriptをUIとして使っていました。<br />
iPhoneとかで最近マルチタッチの話題が増えてきていたので、どの様にしてマルチタッチの機能を実現しているのか、実際の制作時の話しを含めて聞きたかったので行ってきました。</span></p>
<p>実現方法は、<a href="http://memo.393.bz/event/301.html" target="_blank">sakusan様のブログ</a>に説明していらっしゃいましたのでご興味のあるかた是非どうぞ。</p>
<p>簡単にはWebカメラで映像を受け取り、<a href="http://tbeta.nuigroup.com/" target="_blank">tbeta</a>いうソフトが解析してsocketでAS3にタッチの情報を送る、という仕組みの様です。<br />
AS3でタッチイベントを扱いやすくするためにMulti-Touchライブラリを自作されており、<br />
・TouchManagerクラス：Touchを管理するクラス<br />
・TouchEventクラス：触ったときに発生するイベント<br />
・Fingerクラス：触った座標（0〜1の相対座標）、touchを一意にするためのIDを所有するクラス</p>
<p>を持っていて、TouchEventクラスのインスタンスがfingerを持っているので、Touchイベントが発生したときにイベントハンドラ内部で<br />
e.finger.id<br />
e.finger.x<br />
e.finger.y<br />
と記述することで触られた点を知る事ができるというものでした。（e = TouchEvent）</p>
<p>実際に触る時間がいっぱいあったので触ってみたのですが、</p>
<p><img class="aligncenter size-medium wp-image-112" title="�f�B�X�v���C" src="http://blog.hi-farm.net/wp-content/uploads/2009/02/img_0411-300x225.jpg" alt="�f�B�X�v���C" width="300" height="225" /></p>
<p>でかい。</p>
<p>タッチ可能な領域が大きいということは、iPhoneの様にはいかず、タッチする人数が多くなる可能性があり、コンテンツを作るときに気にしないといけない問題が沢山あるのでどのようにタッチイベントの制御を行えばユーザーが意図した動きにるように作れるのかというのは結構難しい問題であるな、と感じました。<br />
finger.idとタッチイベントが発生した座標をとって、或る程度の範囲内なら同じ人物の動作とみなすという判定が必要になるのかな？実際に作ったわけではないので想像でしかありませんが。</p>
<p>後は、このマルチタッチのデバイスを作ること自体が結構むずかしそうな気がしたので、どこかの段階でハードウェア屋さんと協力して新しいデバイスを次々と作る事ができると面白い展開があるのかも？とか想像していました。</p>
<p>このデバイスをみたり触ったりしているときに、感触を再現することができれば面白いなあなんて思ったのですが、これって音圧とか使うと少しは再現できたりするのかな？この辺の研究は一度やってみたいです。</p>
<p>この様なマルチタッチのデバイス＋コンテンツを業務時間外で作り上げる力にはただひたすら感心するのみでした。本当にご苦労様でした。これからも面白いコンテンツを見せていただける事を楽しみにしています。<br />
ってかうらやましいっす！</p>
<p>補足２：<br />
サイバーエージェントさんって、こういうのも作ってたんですね。すてき。</p>
<div><img class="aligncenter size-medium wp-image-111" title="��" src="http://blog.hi-farm.net/wp-content/uploads/2009/02/img_0408-225x300.jpg" alt="��" width="225" height="300" /></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2009/02/26/flash-oop%e5%8b%89%e5%bc%b7%e4%bc%9a%e3%80%8cflash%e3%81%a8diy%e3%81%a7%e4%bd%9c%e3%82%8b%e3%80%81%e8%87%aa%e4%bd%9c%e3%83%9e%e3%83%ab%e3%83%81%e3%82%bf%e3%83%83%e3%83%81%e3%83%87%e3%82%a3%e3%82%b9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Spark 勉強会 #5で話して来ました。</title>
		<link>http://blog.hi-farm.net/2008/11/29/spark-%e5%8b%89%e5%bc%b7%e4%bc%9a-5%e3%81%a7%e8%a9%b1%e3%81%97%e3%81%a6%e6%9d%a5%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.hi-farm.net/2008/11/29/spark-%e5%8b%89%e5%bc%b7%e4%bc%9a-5%e3%81%a7%e8%a9%b1%e3%81%97%e3%81%a6%e6%9d%a5%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Sat, 29 Nov 2008 14:45:41 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[AIR]]></category>
		<category><![CDATA[Actionscript3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[actionscript]]></category>
		<category><![CDATA[dynamic sound generation]]></category>
		<category><![CDATA[effect]]></category>
		<category><![CDATA[fourier transform]]></category>

		<guid isPermaLink="false">http://blog.hi-farm.net/?p=84</guid>
		<description><![CDATA[
			
				
			
		
本当にものすごく久々の投稿になってしまいました。
先日、11/26に行われた、Spark勉強会で、Dynamic Sound Generationの発表をしてきたので、その資料をアップし [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F11%2F29%2Fspark-%25e5%258b%2589%25e5%25bc%25b7%25e4%25bc%259a-5%25e3%2581%25a7%25e8%25a9%25b1%25e3%2581%2597%25e3%2581%25a6%25e6%259d%25a5%25e3%2581%25be%25e3%2581%2597%25e3%2581%259f%25e3%2580%2582%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F11%2F29%2Fspark-%25e5%258b%2589%25e5%25bc%25b7%25e4%25bc%259a-5%25e3%2581%25a7%25e8%25a9%25b1%25e3%2581%2597%25e3%2581%25a6%25e6%259d%25a5%25e3%2581%25be%25e3%2581%2597%25e3%2581%259f%25e3%2580%2582%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>本当にものすごく久々の投稿になってしまいました。</p>
<p>先日、11/26に行われた、Spark勉強会で、Dynamic Sound Generationの発表をしてきたので、その資料をアップします。</p>
<p>（※再生には音楽ファイルを必要なので、各自用意して下さい。）</p>
<p><a title="ソース一式" href="http://www.hi-farm.net/works/spark5/SoundGeneration_spark.zip" target="_blank">ソース一式</a></p>
<p><a title="発表スライド" href="http://www.hi-farm.net/works/spark5/presentation.pdf" target="_blank">PDF</a></p>
<p>「フーリエ変換を使わない、エフェクトのかけかた」というタイトル通り、信号処理には本来フーリエ変換は欠かせないものですが、フーリエ変換の話しになると一気に敷居が高くなる（というか自分が今勉強している状態なので、この様な発表になりました。</p>
<p> </p>
<p>ただ、やはりフーリエ変換を使えていない＆勉強途中での発表になってしまったので、波形が途切れてしまっているところがあるようで、ぷつぷつと途切れる音が結構聴こえてしまいます。。。</p>
<p>あくまでご参考程度にしていただければと思います。</p>
<p> </p>
<p> </p>
<p>［ファイル構成について］</p>
<p> </p>
<p>SoundGeneration.mxml：ラジオボタンやスライダーがついているView + 実際に音を鳴らすファイル</p>
<p>model/SoundObj.as：Dynamic Sound Generationを使って音楽を再生したり、エフェクトをかけたりするスクリプトを記述しているファイル。</p>
<p> </p>
<p>SoundObj.asに関しては、mxmlでも使いやすいように、IMXMLObjectインターフェイスを実装しています。</p>
<p> </p>
<p>［SoundObj.asの仕組み］</p>
<p>_currentEffectというプロパティを切り替えて、どのエフェクトをかけるのかを選択します。</p>
<p> </p>
<p>extractメソッドを呼び出すたびに、bufferプロパティにデータを蓄えています。</p>
<p>これを使って、ディレイや逆再生を実現しています。</p>
<p> </p>
<p>なお、逆再生に関しては、こちらが大変参考になります。</p>
<div>次は、フーリエ変換からめてしっかりとエフェクトをかけられるようになりたいなあ。</div>
<div>フーリエ変換とエフェクトの掛け方を勉強できる機会があれば、是非参加したいです。</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/11/29/spark-%e5%8b%89%e5%bc%b7%e4%bc%9a-5%e3%81%a7%e8%a9%b1%e3%81%97%e3%81%a6%e6%9d%a5%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[flash] Honda &#124; AIRWAVE</title>
		<link>http://blog.hi-farm.net/2008/07/09/flash-honda-airwave/</link>
		<comments>http://blog.hi-farm.net/2008/07/09/flash-honda-airwave/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 15:23:27 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://blog.hi-farm.net/?p=77</guid>
		<description><![CDATA[
			
				
			
		
素敵なサイトを見つけました。
バーチャルですが、ドライブデートができます。
優れているな、と思ったのが、デートする中で、色々と操作をしなければいけないのですが、
デートするなかで、温度調 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F07%2F09%2Fflash-honda-airwave%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F07%2F09%2Fflash-honda-airwave%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>素敵なサイトを見つけました。</p>
<p>バーチャルですが、ドライブデートができます。</p>
<p>優れているな、と思ったのが、デートする中で、色々と操作をしなければいけないのですが、</p>
<p>デートするなかで、温度調整など、何をするにはどこにあるものを触ればいいか、という手順が流れにそって理解できるようになっています。</p>
<p>例えば、曲を変更するとき。</p>
<p>女の子がこんな風に言ってきます。</p>
<p> </p>
<p><a rel="lightbox" href="http://www.hi-farm.net/pictures/airwave/pic1.jpg"><img style="vertical-align: middle;" src="http://www.hi-farm.net/pictures/airwave/pic1.jpg" alt="" width="512" height="387" /></a></p>
<p>そういわれてムードを変えなきゃ男じゃあありません。早速変えようとしたときに、「＋」表示されるので、</p>
<p>曲を変えたいときにはここを操作すれば良いのか、とすんなりと知る事ができます。</p>
<p> </p>
<p>それにしても、ここに操作ボタンがあるのはいいですね。曲を頻繁に替える人にも使いやすそう。</p>
<p><a rel="lightbox" href="http://www.hi-farm.net/pictures/airwave/pic2.jpg"><img style="vertical-align: middle;" src="http://www.hi-farm.net/pictures/airwave/pic2.jpg" alt="" width="512" height="387" /></a></p>
<p>写真がズームされ、矢印をクリックすると曲を変える疑似体験ができます。</p>
<p>COLTEMONIKAが入っているのは個人的にはうれしい。</p>
<p> </p>
<p>この様な操作をいくつか行うなかで、車の操作方法を覚えてます。</p>
<p> </p>
<p>そして、デートだけにロマンチックな方向へ。。。</p>
<p><a rel="lightbox" href="http://www.hi-farm.net/pictures/airwave/pic3.jpg"><img style="vertical-align: middle;" src="http://www.hi-farm.net/pictures/airwave/pic3.jpg" alt="" width="512" height="387" /></a></p>
<p> </p>
<p>さて、何を送ろうかな。どきどきします。</p>
<p>本気で考えた結果、1にしました。</p>
<p>2はいきなりすぎるし、3はなあ。。</p>
<p> </p>
<p>と答えてた結果が最後に現れます。</p>
<p><a rel="lightbox" href="http://www.hi-farm.net/pictures/airwave/pic4.jpg"><img style="vertical-align: middle;" src="http://www.hi-farm.net/pictures/airwave/pic4.jpg" alt="" width="512" height="387" /></a></p>
<p>女の子とドライブするのなれてるとか言ってくれました。</p>
<p>これだけでAIRWAVEを好きになりそうです。</p>
<p>ですが、曲変更ボタンなど、車自体がとてもユーザビリティを考えて作られていることがこのサイトを体験する事で伝わりますし、何より僕には疑似デートっていうだけでドキドキしてました。</p>
<p> </p>
<p>ちなみに、僕がみた時は、デートモードもありました。</p>
<p>試してみたいな。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/07/09/flash-honda-airwave/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[astro filereference] astroでのFileReference</title>
		<link>http://blog.hi-farm.net/2008/06/26/astro-filereference-astro%e3%81%a7%e3%81%aefilereference/</link>
		<comments>http://blog.hi-farm.net/2008/06/26/astro-filereference-astro%e3%81%a7%e3%81%aefilereference/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 18:41:03 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[Actionscript3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[filereference]]></category>

		<guid isPermaLink="false">http://blog.hi-farm.net/?p=76</guid>
		<description><![CDATA[
			
				
			
		
いやーすごいですね！astro！
ローカルへのファイル保存が可能だなんて！
実際は、FileReferenceはローカルファイルを読み込んで直接操作できるみたいですが、ひとまず今回は保存 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F26%2Fastro-filereference-astro%25e3%2581%25a7%25e3%2581%25aefilereference%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F26%2Fastro-filereference-astro%25e3%2581%25a7%25e3%2581%25aefilereference%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>いやーすごいですね！astro！</p>
<p>ローカルへのファイル保存が可能だなんて！</p>
<p>実際は、FileReferenceはローカルファイルを読み込んで直接操作できるみたいですが、ひとまず今回は保存です。</p>
<p> </p>
<p><em>サンプルはこちら。</em></p>
<p><em>（Flashサンプル。赤丸をクリックすると、保存ダイアログが現れて、適当な名前を入力してボタンを押すと、保存。）</em></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="400" height="400" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.hi-farm.net/astro/filesave.swf" /><embed type="application/x-shockwave-flash" width="400" height="400" src="http://www.hi-farm.net/astro/filesave.swf"></embed></object></p>
<p>注意点としては、同じファイル名で上書き保存しようとすると例外をはくらしいです。</p>
<p>（これはもしかすると僕のサンプルが悪いだけかもです。。）</p>
<p>corelibのJPGEncoderを使って、stageを画像として保存しています。</p>
<p>ようは、FileReferenceにsaveというメソッドができて、それを使うと保存できるよ、ということです。</p>
<p>ちなみに、保存できる形式は、</p>
<p>String, XML, ByteArrayらしいです。</p>
<p>今回のサンプルは、ByteArrayを使って保存しています。</p>
<p> </p>
<p>ちなみにソースはこんなのです。</p>
<p> </p>
<div style="padding-left: 30px;">package</div>
<div style="padding-left: 30px;"><em>{</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>import com.adobe.images.*;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>import flash.display.*;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>import flash.events.*;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>import flash.net.*;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>import flash.utils.ByteArray;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>public class main extends MovieClip</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>{</em></div>
<div style="padding-left: 30px;"><span><em> </em></span></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>private var jpg:JPGEncoder = new JPGEncoder(100);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>private var container:Sprite;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>private var bmpdata:BitmapData;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>private var btn:Sprite;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>private var fr:FileReference;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>public function main()</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>{</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>init();</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>}</em></div>
<div style="padding-left: 30px;"><em><br />
</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>private function init():void</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>{</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>//保存ダイアログを出すためのボタン。</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>btn = new Sprite();</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>btn.graphics.beginFill(0xff0000, 1);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>btn.graphics.drawCircle( 0, 0, 10);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>btn.graphics.endFill();</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>addChild(btn);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>btn.width = btn.height = 10;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>btn.x = btn.y = 320;</em></div>
<div style="padding-left: 30px;"><span><em> </em></span></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>btn.addEventListener(MouseEvent.CLICK, onSave);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>fr = new FileReference();</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>}</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>private function onSave(e:MouseEvent):void</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>{</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>bmpdata = new BitmapData(400, 400, true);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>bmpdata.draw(stage);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>var ba:ByteArray = new ByteArray();</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>// stageをBitmap化したものを、ByteArrayに変換。</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>ba = jpg.encode(bmpdata);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>// 保存ダイアログを出す。</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>fr.save(ba, &#8220;astroSavedFile.jpg&#8221;);</em></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>}</em></div>
<div style="padding-left: 30px;"><span><em> </em></span></div>
<div style="padding-left: 30px;"><span><em> </em></span><em>}</em></div>
<div style="padding-left: 30px;"><em>}</em></div>
<div style="padding-left: 30px;"></div>
<div>いや、ほんとにastroはDynamic Sound Generationといい、すごい進化してますね。</div>
<p> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/26/astro-filereference-astro%e3%81%a7%e3%81%aefilereference/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[flash astro]Dynamic Sound Generation 2.</title>
		<link>http://blog.hi-farm.net/2008/06/13/flash-astrodynamic-sound-generation-2/</link>
		<comments>http://blog.hi-farm.net/2008/06/13/flash-astrodynamic-sound-generation-2/#comments</comments>
		<pubDate>Thu, 12 Jun 2008 18:23:46 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[Actionscript3]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[dynamic sound generation]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://blog.hi-farm.net/?p=73</guid>
		<description><![CDATA[
			
				
			
		
またまたですが、Flash Player10 astroのDynamic Sound Generationです。
ボタンを押すと、音が流れます。
パルス波の長さを時間で変えています。
注意：音を止める方法がないので、音を消したい場合はリロードして下さい。

 
これがasだけでできるってのが素晴らしい！！
今、個人的にはこの辺の機能が楽しいなあ。
 
コードはこんなです。
main.as
&#60;code&#62;
package
{
 
 import flash.net.*;
 import flash.display.*;
 import flash.media.*;
 import flash.events.*;
 
 [SWF(backgroundColor="0xeeeeee", frameRate="50", stageHeight="200")]
 public class main extends Sprite
 {
 private var snd:Sound;
 private var square:Sprite;
 private var sh:Number = 200;
 
 private var btn1:Sprite;
 private var btn2:Sprite;
 private var btn3:Sprite;
 private var btn4:Sprite;
 private var btn5:Sprite;
 private var btn6:Sprite;
 
 [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F13%2Fflash-astrodynamic-sound-generation-2%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F13%2Fflash-astrodynamic-sound-generation-2%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>またまたですが、Flash Player10 astroのDynamic Sound Generationです。</p>
<p>ボタンを押すと、音が流れます。</p>
<p>パルス波の長さを時間で変えています。</p>
<p><span style="color: #ff0000;"><strong>注意：音を止める方法がないので、音を消したい場合はリロードして下さい。</strong></span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="200" height="100" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="src" value="http://www.hi-farm.net/astro/dynamicsound2.swf" /><embed type="application/x-shockwave-flash" width="200" height="100" src="http://www.hi-farm.net/astro/dynamicsound2.swf"></embed></object></p>
<p> </p>
<p>これがasだけでできるってのが素晴らしい！！</p>
<p>今、個人的にはこの辺の機能が楽しいなあ。</p>
<p> </p>
<p>コードはこんなです。</p>
<p>main.as</p>
<p>&lt;code&gt;</p>
<div>package</div>
<div>{</div>
<div><span> </span></div>
<div><span> </span>import flash.net.*;</div>
<div><span> </span>import flash.display.*;</div>
<div><span> </span>import flash.media.*;</div>
<div><span> </span>import flash.events.*;</div>
<div><span> </span></div>
<div><span> </span>[SWF(backgroundColor="0xeeeeee", frameRate="50", stageHeight="200")]</div>
<div><span> </span>public class main extends Sprite</div>
<div><span> </span>{</div>
<div><span> </span>private var snd:Sound;</div>
<div><span> </span>private var square:Sprite;</div>
<div><span> </span>private var sh:Number = 200;</div>
<div><span> </span></div>
<div><span> </span>private var btn1:Sprite;</div>
<div><span> </span>private var btn2:Sprite;</div>
<div><span> </span>private var btn3:Sprite;</div>
<div><span> </span>private var btn4:Sprite;</div>
<div><span> </span>private var btn5:Sprite;</div>
<div><span> </span>private var btn6:Sprite;</div>
<div><span> </span></div>
<div><span> </span>public function main()</div>
<div><span> </span>{</div>
<div><span> </span>initBtn();</div>
<div><span> </span>}</div>
<div><span> </span>private function initBtn():void</div>
<div><span> </span>{</div>
<div><span> </span>btn = new Sprite();</div>
<div><span> </span></div>
<div><span> </span>drawBtn(btn);</div>
<div><span> </span>btn.buttonMode = true;</div>
<div><span> </span>addChild(btn);</div>
<div><span> </span>btn.width = btn.height = 20;</div>
<div><span> </span>btn.x = 0;</div>
<div><span> </span>btn.y = 0;</div>
<div><span> </span>btn.addEventListener(MouseEvent.CLICK, click1);</div>
<div><span> </span>}</div>
<div><span> </span>private function drawBtn(sp:Sprite):void</div>
<div><span> </span>{</div>
<div><span> </span>sp.graphics.beginFill(0xff0000,1);</div>
<div><span> </span>sp.graphics.drawRect(0, 0, 20, 20);</div>
<div><span> </span>sp.graphics.endFill();</div>
<div><span> </span>}</div>
<div><span> </span>private function click1(e:MouseEvent):void</div>
<div><span> </span>{</div>
<div><span> </span>init();</div>
<div><span> </span>doSamplesCallbackHandler(1);</div>
<div><span> </span>}</div>
<div><span> </span>private function init():void</div>
<div><span> </span>{</div>
<div><span> </span>snd = new Sound();</div>
<div><span> </span>if( snd.hasEventListener(&#8221;samplesCallback&#8221;))<span> </span>snd.removeEventListener(&#8221;samplesCallback&#8221;, samplesCallbackHandler);</div>
<div><span> </span>snd.addEventListener(&#8221;samplesCallback&#8221;, samplesCallbackHandler);</div>
<div><span> </span>snd.play();</div>
<div><span> </span>}</div>
<div><span> </span></div>
<div><span> </span>private function samplesCallbackHandler(e:SamplesCallbackEvent):void</div>
<div><span> </span>{</div>
<div><span> </span>doSamplesCallbackHandler(1);</div>
<div><span> </span>}</div>
<div><span> </span>private var rate:Number = 44100;</div>
<div><span> </span>private var freq:Number = 440;</div>
<div><span> </span>private var phase:Number = 0;</div>
<div><span> </span>private var count:Number = 1;</div>
<div><span> </span></div>
<div><span> </span>/**</div>
<div><span> </span> * generate wave data.</div>
<div><span> </span> */</div>
<div><span> </span>private function doSamplesCallbackHandler(type:int):void</div>
<div><span> </span>{</div>
<div><span> </span>//Voice.beep1();</div>
<div><span> </span>var freq:Number = 220;</div>
<div><span> </span>for( var i:uint=0; i &lt; 512; i++ )</div>
<div><span> </span>{</div>
<div><span> </span></div>
<div><span> </span>phase += freq/(rate);</div>
<div><span> </span></div>
<div><span> </span>var arrange:Number = 1;</div>
<div><span> </span>var a:Number = 1;</div>
<div><span> </span>if( i%2==0 )<span> </span>a = 1;</div>
<div><span> </span>arrange = a*count;</div>
<div><span> </span>var phaseAngle:Number = phase * arrange;</div>
<div><span> </span>var sample:Number = Math.sin(phaseAngle);</div>
<div><span> </span></div>
<div><span> </span>//ここで波形をつくってます。</div>
<div><span> </span>sample = beep1(i);</div>
<div><span> </span></div>
<div><span> </span>//左右チャンネルともに同じ波形。</div>
<div><span> </span>snd.samplesCallbackData.writeFloat(sample);</div>
<div><span> </span>snd.samplesCallbackData.writeFloat(sample);</div>
<div><span> </span>}</div>
<div><span> </span>delim++;</div>
<div><span> </span>if( delim &gt; 256 )<span> </span>delim = 0;</div>
<div><span> </span>}</div>
<div><span> </span></div>
<div><span> </span>private var delim:Number = 0;</div>
<div><span> </span>/**</div>
<div><span> </span> * generate beep1</div>
<div><span> </span> * @param i:uint wave counter.</div>
<div><span> </span> * @return Number</div>
<div><span> </span> */</div>
<div><span> </span>private function beep1(i:uint):Number</div>
<div><span> </span>{</div>
<div><span> </span>var res:Number =0;</div>
<div><span> </span>//delim++;</div>
<div><span> </span>//if( delim &gt; 256 )<span> </span>delim = 0;</div>
<div><span> </span></div>
<div><span> </span>//if( i &lt; 256 )<span> </span>res = 50;</div>
<div><span> </span>//else<span> </span>res = 0;</div>
<div><span> </span>if( i &lt; delim ) res = 50;</div>
<div><span> </span>else<span> </span>res = 0;</div>
<div><span> </span>return res;</div>
<div><span> </span>}</div>
<div><span> </span>}</div>
<div>}</div>
<p>&lt;/code&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/13/flash-astrodynamic-sound-generation-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[astro] dynamic sound generationやってみたよ。</title>
		<link>http://blog.hi-farm.net/2008/06/10/astro-dynamic-sound-generation%e3%82%84%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%82%88%e3%80%82/</link>
		<comments>http://blog.hi-farm.net/2008/06/10/astro-dynamic-sound-generation%e3%82%84%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%82%88%e3%80%82/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:05:51 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[Actionscript3]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.hi-farm.net/wp/?p=71</guid>
		<description><![CDATA[
			
				
			
		
えっと、ほんとは今日はパラグライダーで空を飛ぶ予定でしたが、天候により中止。
で、代わりにastroのdynamic sound generationやってました。
参考サイトはこちら： [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F10%2Fastro-dynamic-sound-generation%25e3%2582%2584%25e3%2581%25a3%25e3%2581%25a6%25e3%2581%25bf%25e3%2581%259f%25e3%2582%2588%25e3%2580%2582%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F10%2Fastro-dynamic-sound-generation%25e3%2582%2584%25e3%2581%25a3%25e3%2581%25a6%25e3%2581%25bf%25e3%2581%259f%25e3%2582%2588%25e3%2580%2582%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>えっと、ほんとは今日はパラグライダーで空を飛ぶ予定でしたが、天候により中止。</p>
<p>で、代わりにastroのdynamic sound generationやってました。<br />
参考サイトはこちら：<br />
<a href="http://www.kaourantin.net/2008/05/adobe-is-making-some-noise-part-3.html" target="_blank">http://www.kaourantin.net/2008/05/adobe-is-making-some-noise-part-3.html</a><br />
<a href="http://memo.kappa-lab.com/2008/06/astroflash10_singing_do-re-mi--.html" target="_blank">http://memo.kappa-lab.com/2008/06/astroflash10_singing_do-re-mi&#8211;.html</a></p>
<p>取りあえずソースは後ほどということで、サンプルだけ。</p>
<p><a href="http://www.hi-farm.net/astro/dynamicsound1.swf" target="_blank">http://www.hi-farm.net/astro/dynamicsound1.swf</a></p>
<p>つまらないやつですが、マウスを押している間、音が高くなっていきます。<br />
マウスを放すと、音が低くなります。</p>
<p>これをasのみでできるのは楽しいですね。<br />
デジタルシンセとか作れそう。</p>
<p>もうちょっとソース整理したら改めて書きます！</p>
<p>あー、デジタルシンセってか、サイン波の音とか、色々勉強したい事がふえるなあ。</p>
<p>2008年6月9日00:53</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/10/astro-dynamic-sound-generation%e3%82%84%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%82%88%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>astro練習</title>
		<link>http://blog.hi-farm.net/2008/06/10/astro%e7%b7%b4%e7%bf%92/</link>
		<comments>http://blog.hi-farm.net/2008/06/10/astro%e7%b7%b4%e7%bf%92/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 16:04:16 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[Actionscript3]]></category>
		<category><![CDATA[astro]]></category>
		<category><![CDATA[actionscript3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.hi-farm.net/wp/?p=69</guid>
		<description><![CDATA[
			
				
			
		
取りあえず、flash player10 astroの練習をしてみました。
標準で3Dの機能がついたので、ひとまずちょっとしたサンプルを作成しました．
http://www.hi-farm.net/astro/main.swf
処理がかるくなるのかな？と思ってたのですが、Macのアクティビティモニタで見てみると、
今までの様にPapervision3Dを作った時と、重さがあまりかわらない気がしたんですけど、どうなんでしょう？
ソースはこれ。
main.as&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-
package
{
import flash.events.*;
import flash.display.*;
import flash.ui.*;
[SWF(backgroundColor="0x000000", frameRate="50")]
public class main extends MovieClip
{
private var container:Sprite;
private var rect_vc:Vector.&#60;Rect&#62;;
private var len:uint = 6;
private var radius:Number = 100;
private var container_vc:Vector.&#60;Sprite&#62;;
private var innerLen:uint=15;
public function main ()
{
init();
}
private function init():void
{
container_vc = new Vector.&#60;Sprite&#62;();
container = new Sprite();
container.x = 150;
container.y = 10;
addChild(container);
rect_vc = new Vector.&#60;Rect&#62;();
for( var i:uint=0; i &#60; innerLen; i++ )
{
container_vc[i] = genCircle(0, 30*i+10,15*i);
container_vc[i].rotationY [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F10%2Fastro%25e7%25b7%25b4%25e7%25bf%2592%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F10%2Fastro%25e7%25b7%25b4%25e7%25bf%2592%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>取りあえず、flash player10 astroの練習をしてみました。<br />
標準で3Dの機能がついたので、ひとまずちょっとしたサンプルを作成しました．</p>
<p><a href="http://www.hi-farm.net/astro/main.swf" target="_blank">http://www.hi-farm.net/astro/main.swf</a></p>
<p>処理がかるくなるのかな？と思ってたのですが、Macのアクティビティモニタで見てみると、<br />
今までの様にPapervision3Dを作った時と、重さがあまりかわらない気がしたんですけど、どうなんでしょう？</p>
<p>ソースはこれ。</p>
<p>main.as&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>package<br />
{</p>
<p>import flash.events.*;<br />
import flash.display.*;<br />
import flash.ui.*;</p>
<p>[SWF(backgroundColor="0x000000", frameRate="50")]<br />
public class main extends MovieClip<br />
{</p>
<p>private var container:Sprite;<br />
private var rect_vc:Vector.&lt;Rect&gt;;<br />
private var len:uint = 6;<br />
private var radius:Number = 100;<br />
private var container_vc:Vector.&lt;Sprite&gt;;<br />
private var innerLen:uint=15;</p>
<p>public function main ()<br />
{<br />
init();<br />
}</p>
<p>private function init():void<br />
{<br />
container_vc = new Vector.&lt;Sprite&gt;();</p>
<p>container = new Sprite();<br />
container.x = 150;<br />
container.y = 10;</p>
<p>addChild(container);<br />
rect_vc = new Vector.&lt;Rect&gt;();<br />
for( var i:uint=0; i &lt; innerLen; i++ )<br />
{<br />
container_vc[i] = genCircle(0, 30*i+10,15*i);<br />
container_vc[i].rotationY = 30 * i;<br />
}<br />
addEventListener(Event.ENTER_FRAME, enterframeHandler);<br />
}</p>
<p>private function genCircle(cX:Number, cY:Number, ra:Number):Sprite<br />
{<br />
var innerContainer:Sprite = new Sprite();</p>
<p>for( var i:uint=0; i &lt; len; i++ )<br />
{<br />
var rect:Rect = new Rect(0xffffff, 10, 10);<br />
innerContainer.addChild(rect);</p>
<p>var rad:Number = (Math.PI/180) * ( (360/len)*i);<br />
rect.x = (Math.cos(rad) &#8211; Math.sin(rad)) * ra;<br />
rect.y = 0;<br />
rect.z = (Math.sin(rad) + Math.cos(rad)) * ra;<br />
rect_vc[i] = rect;<br />
}</p>
<p>innerContainer.x = 0;<br />
innerContainer.y = 0;</p>
<p>innerContainer.x = cX;<br />
innerContainer.y = cY;</p>
<p>container.addChild(innerContainer);</p>
<p>return innerContainer;<br />
}</p>
<p>private function enterframeHandler(e:Event):void<br />
{<br />
for( var i:uint=0; i &lt; innerLen; i++ )<br />
{<br />
container_vc[i].rotationY++;<br />
}<br />
}<br />
}<br />
}</p>
<p>Rect.as&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>package<br />
{<br />
import flash.display.*;<br />
import flash.events.*;</p>
<p>public class Rect extends Sprite<br />
{<br />
function Rect(col:uint, w:Number, h:Number)<br />
{<br />
this.graphics.beginFill( 0xffffff, 1);<br />
this.graphics.drawRect( 0, 0, w, h);<br />
this.graphics.endFill();<br />
}<br />
}<br />
}</p>
<p>2008年6月1日02:36</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/10/astro%e7%b7%b4%e7%bf%92/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>酔いそうになりました。</title>
		<link>http://blog.hi-farm.net/2008/06/09/%e9%85%94%e3%81%84%e3%81%9d%e3%81%86%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/</link>
		<comments>http://blog.hi-farm.net/2008/06/09/%e9%85%94%e3%81%84%e3%81%9d%e3%81%86%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Mon, 09 Jun 2008 04:45:03 +0000</pubDate>
		<dc:creator>hi-farm.net</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://www.hi-farm.net/wp/?p=47</guid>
		<description><![CDATA[
			
				
			
		
見かけたこんなサイト。
http://halo3.com/believe/shell.html
まあ、多分、撮影をしっかりやって、FLVにして、コマ送りの操作をキーでさせてるというだけの [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;">
			<a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F09%2F%25e9%2585%2594%25e3%2581%2584%25e3%2581%259d%25e3%2581%2586%25e3%2581%25ab%25e3%2581%25aa%25e3%2582%258a%25e3%2581%25be%25e3%2581%2597%25e3%2581%259f%25e3%2580%2582%2F"><br />
				<img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fblog.hi-farm.net%2F2008%2F06%2F09%2F%25e9%2585%2594%25e3%2581%2584%25e3%2581%259d%25e3%2581%2586%25e3%2581%25ab%25e3%2581%25aa%25e3%2582%258a%25e3%2581%25be%25e3%2581%2597%25e3%2581%259f%25e3%2580%2582%2F&amp;style=normal&amp;b=2" height="61" width="50" /><br />
			</a>
		</div>
<p>見かけたこんなサイト。</p>
<p><a href="http://halo3.com/believe/shell.html" target="_blank">http://halo3.com/believe/shell.html</a></p>
<p>まあ、多分、撮影をしっかりやって、FLVにして、コマ送りの操作をキーでさせてるというだけの仕組みとは思うのですが、<br />
これを見ていて、カメラが高いところから落ちるときに、酔いそうになりました。</p>
<p>もともとジェットコースターとか本当にありえないくらい苦手な僕だからここまで過剰に反応したのだろうとは思いますが、これをフルスクリーンでやって、できればGainerかなんかでセンサーつけて、椅子（リクライニングするのでいいです）と連動できれば、簡易ジェットコースターにならん？？なんて思ったのでした。</p>
<p>しかも一家に一台！的に用意して。<br />
これでジェットコースターの練習ができる！という様な。</p>
<p>作れるなら作りたいなあ。。</p>
<p>2007年10月24日20:54</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hi-farm.net/2008/06/09/%e9%85%94%e3%81%84%e3%81%9d%e3%81%86%e3%81%ab%e3%81%aa%e3%82%8a%e3%81%be%e3%81%97%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

