<?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>RIAブログ</title>
	<atom:link href="http://ria.blog.sus4.co.jp/feed/" rel="self" type="application/rss+xml" />
	<link>http://ria.blog.sus4.co.jp</link>
	<description>RIAやUIを中心に取り上げます。今日の一選ウェブサイトを毎日更新中です</description>
	<lastBuildDate>Tue, 11 Jan 2011 12:25:52 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>JavascriptとFlashの作り方の違い</title>
		<link>http://ria.blog.sus4.co.jp/2011/01/11/javascript%e3%81%a8flash%e3%81%ae%e4%bd%9c%e3%82%8a%e6%96%b9%e3%81%ae%e9%81%95%e3%81%84/</link>
		<comments>http://ria.blog.sus4.co.jp/2011/01/11/javascript%e3%81%a8flash%e3%81%ae%e4%bd%9c%e3%82%8a%e6%96%b9%e3%81%ae%e9%81%95%e3%81%84/#comments</comments>
		<pubDate>Tue, 11 Jan 2011 12:25:52 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[今日の一選ウェブサイト]]></category>
		<category><![CDATA[ext.core]]></category>
		<category><![CDATA[google closure]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[prototype]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=793</guid>
		<description><![CDATA[そんなこととで、今回はフルフラッシュとフルジャバスクリプト（こんな言葉があるかは分りません。ググってもでできませんね）のサイトを作る上での個人的な感覚をまとめておきます。]]></description>
			<content:encoded><![CDATA[<p>ひさしぶりな投稿になってしまいました。<br />
去年紹介したサイトはフラッシュなサイトが多かった気がしますが、ことしはどうなっていくのでしょうか？？</p>
<p>そんなことで、今回はフルフラッシュとフルジャバスクリプト（こんな言葉があるかは分りません。ググってもでできませんね）のサイトを作る上での個人的な感覚をまとめておきます。</p>
<h3>・各ブラウザ対応</h3>
<p>なんといってもまずはここからです。</p>
<p><strong>Flash</strong><br />
取りあえず最新版のフラッシュプレーヤーが入っていればOK。iphone等で見れないの気にしなければ、特にブラウザによって異なることはほとんどない。WINとMacでデバイスフォントが異なるぐらいかな？<br />
swfobject,swffitなどJavascriptと連動するライブラリを使う場合や、IE等で読み込み時にstageの幅が取れない等の問題はswfで回避しておく。<br />
<strong>JavaScript</strong><br />
現段階ではブラウザによって違いがありすぎて、把握できないので取りあえずFrameworkを使う。Frameworkを使うことによってブラウザ間の違いを吸収してくれ、同じプロパティ、メソッドで操作が可能になる。<br />
代表的なものにJquery(71kB),Ext.core(84KB),Prototype(159KB),Goole Closure Library（44.8KB）等があります。Prototypeのファイルサイズが大きいですが、Prototypeは短縮したものが配布されていないため、各種ツールを使い短縮することにより20KB程度まで圧縮できるそうです。<br />
ネットで見てる分にはJqueryの人気が高いようです。ライブラリも多くあり、jsのサンプルのほとんどがJqueryだったりします。しかし基本的なDOM操作はどのライブラリでも使えるので、上位の使いたいライブラリにコアライブラリを合わせておくのが無難かとを思います。Ext.coreとJqueryの併用もできますが、そのぶん読み込みのロード時間がかかってしまいます。</p>
<h3>・コンテンツの表示</h3>
<p><strong>Flash</strong><br />
左上から順番に重なっていきます。基本全てが絶対座標で表示されます。なので、フルフラッシュの場合はフラッシュ自体を画面に合わせて、縮尺を変更する場合以外は、ステージのリサイズイベントで各コンテンツの位置を調整します。<br />
<strong>JavaScript</strong><br />
HTML,CSSにしたがって表示されます。ここが最大のポイントです。<br />
各ライブラリをつかって生成すしたオブジェクト、または最初からHTMLに書いてあったものは、HTMLのタグ、cssによってレイアウトされます。webページとして考えると普通なことですが、フラッシュの感覚で作るとこの点が一番意識する点です。<br />
なので単純にmarginをautoにするだけで常に真ん中にコンテンツを表示することが出来ます。普通ですよね。<br />
なのであくまでもHTML,CSSでることを考えるとつくりやすい。なのでpostionを全部absoluteにして書くとフラッシュのように構成できるけど、なんかもったいない気がする。<br />
canvas,svgはフラッシュと同じ感覚だけどここでは割愛！</p>
<h3>・コード</h3>
<p>文法的にはほとんど同じ。As2.0の感覚とjavascriptが似ている。<br />
<strong>Flash</strong><br />
Aｓ2.0.As3.０で書く。<br />
タイムラインスクリプトなどもかけてアニメーションにはやっぱまだフラッシュかな？<br />
<strong>JavaScript</strong><br />
As2のようにObjectにどんどんプロパティを追加しても大丈夫。随時FFのFirebugや開発ツールでパラメータを確認できるのがJs開発の良いところ。フラッシュもdumpしたり出来るけど、何かとややこしい。</p>
<p>かといってもクロスブラウザー対応のJSのサイトってまだあまりないですね。<br />
今年はこんな視点からもブログを更新できたらと思います。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2011%2F01%2F11%2Fjavascript%25e3%2581%25a8flash%25e3%2581%25ae%25e4%25bd%259c%25e3%2582%258a%25e6%2596%25b9%25e3%2581%25ae%25e9%2581%2595%25e3%2581%2584%2F&amp;linkname=Javascript%E3%81%A8Flash%E3%81%AE%E4%BD%9C%E3%82%8A%E6%96%B9%E3%81%AE%E9%81%95%E3%81%84"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2011/01/11/javascript%e3%81%a8flash%e3%81%ae%e4%bd%9c%e3%82%8a%e6%96%b9%e3%81%ae%e9%81%95%e3%81%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlashからOAuth認証でTwitterから発言できるのか？</title>
		<link>http://ria.blog.sus4.co.jp/2010/08/08/flash%e3%81%8b%e3%82%89oauth%e8%aa%8d%e8%a8%bc%e3%81%a7twitter%e3%81%8b%e3%82%89%e7%99%ba%e8%a8%80%e3%81%a7%e3%81%8d%e3%82%8b%e3%81%ae%e3%81%8b%ef%bc%9f/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/08/08/flash%e3%81%8b%e3%82%89oauth%e8%aa%8d%e8%a8%bc%e3%81%a7twitter%e3%81%8b%e3%82%89%e7%99%ba%e8%a8%80%e3%81%a7%e3%81%8d%e3%82%8b%e3%81%ae%e3%81%8b%ef%bc%9f/#comments</comments>
		<pubDate>Sat, 07 Aug 2010 16:50:54 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[作ってみた]]></category>
		<category><![CDATA[air]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=766</guid>
		<description><![CDATA[今までのBACIS認証では各TwitterクライアントにID,PASSを登録してつぶやき等を行っており第三者にID,PASSを預けていました。それではセキュリティ的に問題があると言う事で、OAuth認証が採用されたそうです。
OAuth認証とは、クライアントをTwitterのアカウントで認証する（Twitterのページで認証を行う。下図）とキーがクライアントに渡され、以後認証などをする事なぐTwitterの機能を使えるようになるものです。]]></description>
			<content:encoded><![CDATA[<p>TwitterのBACIS認証でのAPI提供がもうじき８月16日に停止されます。<br />
みなさんの使っているアプリはもうOAuth認証に対応しているものでしょうか？</p>
<p><a href="http://ria.blog.sus4.co.jp/files/2010/08/oauth1.png" title="oauth" rel="lightbox[766]"><img class="alignnone size-full wp-image-776" title="oauth" src="http://ria.blog.sus4.co.jp/files/2010/08/oauth1.png" alt="oauth" width="343" height="142" /></a></p>
<p>そこで新しい(といってもだいぶ前から提供されていました)OAuth認証をFlash(AS3.0)で出来るのか試してみました。</p>
<p>今までのBACIS認証では各TwitterクライアントにID,PASSを登録してつぶやき等を行っており第三者にID,PASSを預けていました。それではセキュリティ的に問題があると言う事で、OAuth認証が採用されたそうです。<br />
OAuth認証とは、クライアントをTwitterのアカウントで認証する（Twitterのページで認証を行う。下図）とキーがクライアントに渡され、以後認証などをする事なぐTwitterの機能を使えるようになるものです。</p>
<p><a href="http://ria.blog.sus4.co.jp/files/2010/08/twitteroauth1.jpg" title="twitteroauth1" rel="lightbox[766]"><img class="alignnone size-medium wp-image-767" title="twitteroauth1" src="http://ria.blog.sus4.co.jp/files/2010/08/twitteroauth1-300x150.jpg" alt="twitteroauth1" width="300" height="150" /></a></p>
<p>しかし、このOAuth認証を知らない人は多いと思います。<br />
一度認証を許可してしまうと、そのクライアントアプリはTwiiterの操作権を持つことになり、それいこう認証なしでつぶやき等が出来てしまいます。（認証はTwitterサイトでいつでも任意で解除することができます。なので一度アクセス権を取得したアプリは認証が解除されるまで、アクセス権を保持しています。）</p>
<p>つい先日から大量にやってくる、マイケルジャクソンのDMもこのOAuth認証を利用したものです。知り合いから送られてくるので、気軽にDMを見てリンク先をクリックするとTwitterの認証画面に進みます。そしてTwitter上のページだからといって安心して許可ボタンを押すと、その瞬間にこのアプリに自分のアカウントの操作権利を渡してしまい、結果、自分のフォロワーにDMを大量に送ってしまう事になってしまうのです。</p>
<p>こんな、ちょっとややこしいOAuth認証をFlash(ActionScript3.0)のみでできるのかが今日の本題です。</p>
<p><strong>結論としてはFlashのみでWEBアプリとしてOAuth認証できませんでした。</strong></p>
<p>なぜなら、twitterではクロスドメインが解放されておらず、Flashからいっさい通信することができないからです。なので、ローカルでの場合？を想定して進んで行きます。AIRだとクロスドメインも関係ないので出来るのではないでしょうか。</p>
<h3>だいたいの流れはこうのようになります。</h3>
<p>１、twitterでアプリを登録する（consumerKey, consumerSecretの発行）<br />
２、ユーザーがアプリのアクセスを承認<br />
３、PIN（7桁の数字）を取得<br />
４、アクセストークン（Key, Secret）を取得<br />
５、つぶやく</p>
<p>Flashで制作して行きますが、フルスクラッチで行うのは厳しいので、ライブラリをふんだんに使って行きます。また、Flexのライブラリも利用しましたので、FlexのSDKをダウンロードしFlashからクラスパスを通しておきます。クラスパスの設定(SDKpass)/frameworks/libsを設定すだけでflashでもmxライブラリが使えるようになります。といってもグリッドなどのコンポーネントが使える訳ではないです。</p>
<p>今回利用したライブラリ</p>
<ul>
<li><a href="http://www.iotashan.com/index.php/2008/04/28/oauth-actionscript-library/">iotashan</a></li>
<li><a href="http://code.google.com/p/as3httpclientlib/">as3httpclientlib</a></li>
<li><a href="http://github.com/srohde/OAuth">OAuth</a></li>
<li><a href="http://code.google.com/p/as3httpclientlib/">as3corelib</a></li>
<li><a href="http://code.google.com/p/as3crypto/">as3crypto</a></li>
</ul>
<p><strong>１、twitterでアプリを登録する（consumerKey, consumerSecretの発行）</strong><br />
まず始めにTwitterのサイトに行き、設定＞関連アプリ＞開発者のかたへ＞新しいアプリケーションの追加と進み、アプリケーションを登録します。ここではアプリケーションの名称、開発者、詳細、アイコン設定等の設定をこないます。ここで、クライアントアプリケーションかブラウザアプリの選択を行います。これは上記３でPINを取得後の処理が違います。ブラウザアプリではPIN取得後、設定URLにリダイレクトされます。クライアントアプリではPINが表示されるようになります。今回はローカルでの作業ですのでクライアントアプリケーションにしました。登録が完了するとconsumerKey, consumerSecretを取得できます。このconsumerKey, consumerSecretは今回の最終的な認証の鍵の鍵の鍵の鍵のようなものだと思います。</p>
<p><strong>２、ユーザーがアプリのアクセスを承認</strong><br />
ここからがASによる作業になります。</p>
<pre class="brush: as3; ">

oauth = new OAuth(consumerKey, consumerSecret);
loader = oauth.getRequestToken(&quot;http://twitter.com/oauth/request_token&quot;);
loader.addEventListener(Event.COMPLETE, requestTokenHandler);
</pre>
<p>consumerKey, consumerSecretには１で取得した文字列を入れます。<br />
このリクエストで、３でPINを取得する為の認証先のURLを作る為のrequestTokenを作ります。必要な値を入れるだけで殆どライブラリがやってくれます。</p>
<p><strong>３、PIN（7桁の数字）を取得</strong></p>
<pre class="brush: as3; ">

requestToken = OAuthUtil.getTokenFromResponse(e.currentTarget.data as String);
var request:URLRequest = oauth.getAuthorizeRequest(&quot;http://twitter.com/oauth/authorize&quot;, requestToken.key);
navigateToURL(request, &quot;_blank&quot;);
</pre>
<p>認証ページへのURLの生成です。といってもここもライブラリが全部やってくれています。<br />
ここでnavigateToURLをしていますが、ここで一度Twitterのサイトに行く事でアプリの認証を行います。そしてPINをサイト上に表示させる、または１で登録したページへのリダイレクトを利用してPINを取得します。<br />
今回はサイトに表示させ、それを手でコピペしましたが、AIR等ではWindowでブラザを開く事が出来るので、コールバックの実装も出来ると思います。今回ここは省略です。</p>
<div id="attachment_785" class="wp-caption alignnone" style="width: 310px"><a href="http://ria.blog.sus4.co.jp/files/2010/08/pin.jpg" title="pin" rel="lightbox[766]"><img class="size-medium wp-image-785" title="pin" src="http://ria.blog.sus4.co.jp/files/2010/08/pin-300x135.jpg" alt="pin" width="300" height="135" /></a><p class="wp-caption-text">PINを取得して表示した画面</p></div>
<p><strong>４、アクセストークン（Key, Secret）を取得</strong></p>
<pre class="brush: as3; ">

var loader:URLLoader = oauth.getAccessToken(&quot;http://twitter.com/oauth/access_token&quot;, requestToken, {oauth_verifier:pin});
loader.addEventListener(Event.COMPLETE, accessTokenHandler);
</pre>
<p>３で取得したPINでAccessTokenを取得します。このAccessTokenはがOAuth認証の最後の鍵となります。なので一度認証を行いAccessTokenを所得したら、ユーザーがアプリの認証を解除するまで有効となります。Flashなどで利用する場合SharedObjectなどで保存してけば、次回からは認証なしでTwiiter機能が使える様になります。</p>
<p><strong>５、つぶやく</strong><br />
いよいよつぶやきですが、ただ単にリクエストを送るだけではつぶやく事は出来ません。</p>
<pre class="brush: as3; ">

var consumerToken:OAuthConsumer = new OAuthConsumer(consumerKey, consumerSecret);
var oauthReq:OAuthRequest = new OAuthRequest(&quot;POST&quot;, &quot;http://api.twitter.com/1/statuses/update.xml&quot;, {oauth_version: &quot;1.0&quot;, status: msgb.text}, consumerToken, accessToken);
var auth:String = oauthReq.buildRequest(new OAuthSignatureMethod_HMAC_SHA1, OAuthRequest.RESULT_TYPE_POST);
auth = auth.split(&quot;&amp;&quot;).join(&quot;\&quot;,&quot;);
auth = auth.split(&quot;=&quot;).join(&quot;=\&quot;&quot;);
auth = auth.replace(/,status=.*/, &quot;&quot;);
var authHeader:URLRequestHeader = new URLRequestHeader(&quot;Authorization&quot;, &quot;OAuth &quot; + auth);
var req:HttpRequest = new Post();
req.addHeader(&quot;Authorization&quot;,authHeader.value);
req.setFormData([{
	name:&quot;status&quot;,
	value:msgb.text
}]);
var client:HttpClient = new HttpClient();
client.addEventListener(HttpRequestEvent.COMPLETE, twtcomp);
client.request(new URI(&quot;http://api.twitter.com/1/statuses/update.xml&quot;), req);
</pre>
<p>通常のURLRequest,URLLoaderではカスタムのヘッダーの利用が出来ないそうで、ここでもライブラリです。Signatureの生成等や、つぶやき本文への追加したヘッダーを作り、HttpRequestを利用してリクエストしてつぶやき完了です。これだとつぶやきっぱなしになってしますので、HttpRequestEvent.COMPLETEイベントを追加してリクエスト監視しています。これで終了です。<br />
<a href="http://ria.blog.sus4.co.jp/files/2010/08/twit_test.jpg" title="twit_test" rel="lightbox[766]"><img src="http://ria.blog.sus4.co.jp/files/2010/08/twit_test-300x133.jpg" alt="twit_test" title="twit_test" width="300" height="133" class="alignnone size-medium wp-image-788" /></a></p>
<p>実際にtwitterで確認してみると、発言元のviaの箇所が登録したアプリ名になっているのが確認できます。<br />
結論として、ローカルアプリならflashのみでOAuthできる事が分かりました。けど、セキュリティサンドボックスの壁がある以上やっぱFlashだけでは無理なので、webアプリの場合はやっぱり無理なんだろうか？８月１６日以後の動向に注目です。</p>
<p>今回はこの記事を書くにあたって<a href="http://d.hatena.ne.jp/kinokorori/20100613/1276437305">こちら</a>のブログを大変参考にさせて頂きました。有り難うございました。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F08%2F08%2Fflash%25e3%2581%258b%25e3%2582%2589oauth%25e8%25aa%258d%25e8%25a8%25bc%25e3%2581%25a7twitter%25e3%2581%258b%25e3%2582%2589%25e7%2599%25ba%25e8%25a8%2580%25e3%2581%25a7%25e3%2581%258d%25e3%2582%258b%25e3%2581%25ae%25e3%2581%258b%25ef%25bc%259f%2F&amp;linkname=Flash%E3%81%8B%E3%82%89OAuth%E8%AA%8D%E8%A8%BC%E3%81%A7Twitter%E3%81%8B%E3%82%89%E7%99%BA%E8%A8%80%E3%81%A7%E3%81%8D%E3%82%8B%E3%81%AE%E3%81%8B%EF%BC%9F"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/08/08/flash%e3%81%8b%e3%82%89oauth%e8%aa%8d%e8%a8%bc%e3%81%a7twitter%e3%81%8b%e3%82%89%e7%99%ba%e8%a8%80%e3%81%a7%e3%81%8d%e3%82%8b%e3%81%ae%e3%81%8b%ef%bc%9f/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>気持ちよい画像検索　NAVER</title>
		<link>http://ria.blog.sus4.co.jp/2010/07/22/%e6%b0%97%e6%8c%81%e3%81%a1%e3%82%88%e3%81%84%e7%94%bb%e5%83%8f%e6%a4%9c%e7%b4%a2%e3%80%80naver/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/07/22/%e6%b0%97%e6%8c%81%e3%81%a1%e3%82%88%e3%81%84%e7%94%bb%e5%83%8f%e6%a4%9c%e7%b4%a2%e3%80%80naver/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 22:17:15 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[今日の一選ウェブサイト]]></category>
		<category><![CDATA[ポータル]]></category>
		<category><![CDATA[画像検索]]></category>
		<category><![CDATA[韓国]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=759</guid>
		<description><![CDATA[韓国では2003年にYahoo!Koreaを検索回数で抜き、国内シェアを60%以上持っています。世界でも5位のシェア率を持っています。サイト自体はとてもシンプルで、アイコン等も統一されて整理されたページになっています。
日本での検索回数はYahoo!とGoogleで90%以上のシャアがあると言われており、ポータルサイトとしてはやはりYahoo!が多いのではないでしょうか。]]></description>
			<content:encoded><![CDATA[<p>画像検索をする時にどの検索サイトを利用していますか？？<br />
今日は韓国のポータルサイトのNAVERを紹介します。</p>
<p>韓国では2003年にYahoo!Koreaを検索回数で抜き、国内シェアを60%以上持っています。世界でも5位のシェア率を持っています。サイト自体はとてもシンプルで、アイコン等も統一されて整理されたページになっています。<br />
日本での検索回数はYahoo!とGoogleで90%以上のシャアがあると言われており、ポータルサイトとしてはやはりYahoo!が多いのではないでしょうか。</p>
<p>今日はそんな中でNAVERでの画像検索の紹介です。</p>
<p>[0075 NAVER JAPAN]<br />
<a href="http://www.naver.jp/">http://www.naver.jp/</a><br />
<a href="http://ria.blog.sus4.co.jp/files/2010/07/naver.png" title="naver" rel="lightbox[759]"><img class="alignnone size-full wp-image-760" title="naver" src="http://ria.blog.sus4.co.jp/files/2010/07/naver.png" alt="naver" width="576" height="323" /></a></p>
<p>とにかくこのNAVERでは、表示がキレイで気持ちがよいです。スロールに応じた自動読み込みはBingなどでも行えますが、等幅表示での自由なレイアウトであったり、見ているだけで楽しいです。</p>
<p>NAVERでのツールはダウンロードが必要なものも一部ありますが、WEBアプリとして使えるものもあり、どれもシンプルで使いやすい印象でした。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F07%2F22%2F%25e6%25b0%2597%25e6%258c%2581%25e3%2581%25a1%25e3%2582%2588%25e3%2581%2584%25e7%2594%25bb%25e5%2583%258f%25e6%25a4%259c%25e7%25b4%25a2%25e3%2580%2580naver%2F&amp;linkname=%E6%B0%97%E6%8C%81%E3%81%A1%E3%82%88%E3%81%84%E7%94%BB%E5%83%8F%E6%A4%9C%E7%B4%A2%E3%80%80NAVER"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/07/22/%e6%b0%97%e6%8c%81%e3%81%a1%e3%82%88%e3%81%84%e7%94%bb%e5%83%8f%e6%a4%9c%e7%b4%a2%e3%80%80naver/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>いよいよやってきたHTML5</title>
		<link>http://ria.blog.sus4.co.jp/2010/06/08/%e3%81%84%e3%82%88%e3%81%84%e3%82%88%e3%82%84%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9fhtml5/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/06/08/%e3%81%84%e3%82%88%e3%81%84%e3%82%88%e3%82%84%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9fhtml5/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 02:06:00 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[今日の一選ウェブサイト]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=751</guid>
		<description><![CDATA[ShowcaseとしてHTML5でつくられた、Video,Typography,Galley,Transitions,Audio,360°,VRが紹介されています。それぞれがHTML5,css3,javascriptを利用して作られています。]]></description>
			<content:encoded><![CDATA[<p>iphoneも発表されて、ますます盛り上がるappleですが、<br />
appleのサイトにHTML5 and web standards.というコンテンツができました。<br />
＊safariでしか見ることができません</p>
<p>[0074 apple html5]<br />
<a href="http://www.apple.com/html5/">http://www.apple.com/html5/</a><br />
<a href="http://ria.blog.sus4.co.jp/files/2010/06/Apple-HTML5.png" title="Apple - HTML5" rel="lightbox[751]"><img class="alignnone size-full wp-image-752" title="Apple - HTML5" src="http://ria.blog.sus4.co.jp/files/2010/06/Apple-HTML5.png" alt="Apple - HTML5" width="480" height="703" /></a></p>
<p>ShowcaseとしてHTML5でつくられた、Video,Typography,Galley,Transitions,Audio,360°,VRが紹介されています。それぞれがHTML5,css3,javascriptを利用して作られています。</p>
<p>HTML5と聞いて初めに思うことはやはりHTML5 vs Flash という構図です。<br />
HTML5 vs Flash という構図は当初、開発者内の話のようでしたが、スティーブン・ジョブスさんのapple va adobeという話で大きくなり、特に話題になったように思います。このおかげでHTML5がより広まればと思います。</p>
<blockquote><p>FlashはHTML5 vs Flash の話を見てて気になるのは、人によって Flash を何と捕らえるかが違うところ。videoタグで不要になるFlashは全体の一部だし、Flash使わなくてもできるようなところは既にHTML+JSに置き換わってる物も多い。</p></blockquote>
<p>上記のような意見もありました。<a href="http://twitter.com/nitoyon/status/8541041008">→</a><br />
わざわざFlashでしかできなかったことが、プラグインを使わなくてできることが良い点であり。Flashでしかできないこと、Flashに求めることを見極めつつ、使い分けていくことが大切だと思います。</p>
<p>結局HTML5 vs Flash という構図で書いてしまいましたが、HTML5の普及により、また面白いサイトが増えていくと思うので楽しみです。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F06%2F08%2F%25e3%2581%2584%25e3%2582%2588%25e3%2581%2584%25e3%2582%2588%25e3%2582%2584%25e3%2581%25a3%25e3%2581%25a6%25e3%2581%258d%25e3%2581%259fhtml5%2F&amp;linkname=%E3%81%84%E3%82%88%E3%81%84%E3%82%88%E3%82%84%E3%81%A3%E3%81%A6%E3%81%8D%E3%81%9FHTML5"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/06/08/%e3%81%84%e3%82%88%e3%81%84%e3%82%88%e3%82%84%e3%81%a3%e3%81%a6%e3%81%8d%e3%81%9fhtml5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>マウスとコンテンツの連動　ポカリスウェット</title>
		<link>http://ria.blog.sus4.co.jp/2010/05/25/%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a8%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%81%ae%e9%80%a3%e5%8b%95%e3%80%80%e3%83%9d%e3%82%ab%e3%83%aa%e3%82%b9%e3%82%a6%e3%82%a7%e3%83%83%e3%83%88/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/05/25/%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a8%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%81%ae%e9%80%a3%e5%8b%95%e3%80%80%e3%83%9d%e3%82%ab%e3%83%aa%e3%82%b9%e3%82%a6%e3%82%a7%e3%83%83%e3%83%88/#comments</comments>
		<pubDate>Mon, 24 May 2010 15:18:38 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[今日の一選ウェブサイト]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[UI]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=745</guid>
		<description><![CDATA[マウスの動きと連動したコンテンツの動きが心地よいです。
全体を動かしたときだけではなく、上部のメニューをロールオーバーした際の動きもいいですね。]]></description>
			<content:encoded><![CDATA[<p>今日紹介するのはポカリスウェットのサイトです。</p>
<p>[0073 ポカリスウェット]<br />
<a href="http://pocarisweat.jp/">http://pocarisweat.jp/</a><br />
<a href="http://ria.blog.sus4.co.jp/files/2010/05/pocari.png" title="pocari" rel="lightbox[745]"><img src="http://ria.blog.sus4.co.jp/files/2010/05/pocari.png" alt="pocari" title="pocari" width="480" height="334" class="alignnone size-full wp-image-746" /></a></p>
<p>マウスの動きと連動したコンテンツの動きが心地よいです。<br />
全体を動かしたときだけではなく、上部のメニューをロールオーバーした際の動きもいいですね。</p>
<p>フラッシュコンテンツを見たときに、もしタッチスクリーンだったらと想像してしまいますが、先日海外の記事の中に、既存サイトをタッチスクリーンで操作した動画が公開されていました。<br />
<a href="http://theflashblog.com/?p=2027">こちら</a><br />
動画ではDELLのノートで操作しています。</p>
<p>思ったより、すんなり動いてますよね？？<br />
簡単な動作なら作り変える必要なさそうですね。しかし、iphoneなどのappleのタッチスクリーンと比べられたらキツイんでしょうね。</p>
<p>これから先どんなハードがでてくるのか楽しみだけど、<br />
それにあうUIをしっかりと作っていけるようにしていきたいです。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F05%2F25%2F%25e3%2583%259e%25e3%2582%25a6%25e3%2582%25b9%25e3%2581%25a8%25e3%2582%25b3%25e3%2583%25b3%25e3%2583%2586%25e3%2583%25b3%25e3%2583%2584%25e3%2581%25ae%25e9%2580%25a3%25e5%258b%2595%25e3%2580%2580%25e3%2583%259d%25e3%2582%25ab%25e3%2583%25aa%25e3%2582%25b9%25e3%2582%25a6%25e3%2582%25a7%25e3%2583%2583%25e3%2583%2588%2F&amp;linkname=%E3%83%9E%E3%82%A6%E3%82%B9%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%86%E3%83%B3%E3%83%84%E3%81%AE%E9%80%A3%E5%8B%95%E3%80%80%E3%83%9D%E3%82%AB%E3%83%AA%E3%82%B9%E3%82%A6%E3%82%A7%E3%83%83%E3%83%88"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/05/25/%e3%83%9e%e3%82%a6%e3%82%b9%e3%81%a8%e3%82%b3%e3%83%b3%e3%83%86%e3%83%b3%e3%83%84%e3%81%ae%e9%80%a3%e5%8b%95%e3%80%80%e3%83%9d%e3%82%ab%e3%83%aa%e3%82%b9%e3%82%a6%e3%82%a7%e3%83%83%e3%83%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>googleパックマン</title>
		<link>http://ria.blog.sus4.co.jp/2010/05/23/google%e3%83%91%e3%83%83%e3%82%af%e3%83%9e%e3%83%b3/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/05/23/google%e3%83%91%e3%83%83%e3%82%af%e3%83%9e%e3%83%b3/#comments</comments>
		<pubDate>Sat, 22 May 2010 18:01:53 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[今日の一選ウェブサイト]]></category>
		<category><![CDATA[game]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=740</guid>
		<description><![CDATA[ただ単にパックマンが出来るだけなら紹介はしませんでしたが、
このパックマンはフラッシュで動いていません。すごいです。
マウスでの操作、キーボード操作、サウンドまでしっかりできているので更にすごいです。]]></description>
			<content:encoded><![CDATA[<p>既にプレイしてみた人も多くいると思います、<br />
グーグルのトップのロゴがパックマンになっています。<br />
パックマン30周年を記念したものです。<br />
今まで色々なロゴが出現して来ましたが、遊べるのは初めてではないでしょうか？？</p>
<p>[0072 google]<br />
<a href="http://ria.blog.sus4.co.jp/files/2010/05/google.png" title="google" rel="lightbox[740]"><img src="http://ria.blog.sus4.co.jp/files/2010/05/google.png" alt="google" title="google" width="558" height="191" class="alignnone size-full wp-image-741" /></a></p>
<p>ちゃんとgoogleと読めますね。<br />
Incert Coinボタンでゲームを開始できます。もう一度押すと対戦モードになります。</p>
<p>ただ単にパックマンが出来るだけなら紹介はしませんでしたが、<br />
このパックマンはフラッシュで動いていません。Javascriptで作られています。<br />
マウスでの操作、キーボード操作、サウンドまでしっかりできており凄いです。</p>
<p>256面まであるそうですので挑戦してみてはいかがでしょうか？<br />
残念ながら期間限定です。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F05%2F23%2Fgoogle%25e3%2583%2591%25e3%2583%2583%25e3%2582%25af%25e3%2583%259e%25e3%2583%25b3%2F&amp;linkname=google%E3%83%91%E3%83%83%E3%82%AF%E3%83%9E%E3%83%B3"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/05/23/google%e3%83%91%e3%83%83%e3%82%af%e3%83%9e%e3%83%b3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>UI試作できます　MinimalDesigner</title>
		<link>http://ria.blog.sus4.co.jp/2010/05/20/ui%e8%a9%a6%e4%bd%9c%e3%81%a7%e3%81%8d%e3%81%be%e3%81%99%e3%80%80minimaldesigner/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/05/20/ui%e8%a9%a6%e4%bd%9c%e3%81%a7%e3%81%8d%e3%81%be%e3%81%99%e3%80%80minimaldesigner/#comments</comments>
		<pubDate>Thu, 20 May 2010 14:39:01 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[ASlib]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=735</guid>
		<description><![CDATA[マウス操作のみで簡単にインターフェースを作る事が出来ます。
コードジェネレーターではハンドラーやインスタンス名の設定も出来るので組み込む手間が省けます。ただしちゃんと設定しないと全部同じ名前になったりします。]]></description>
			<content:encoded><![CDATA[<p>wonderflでよく使われているシンプルなUIコンポーネントのminimalcompsですが、<br />
色々と配置を考える時にコードベースで行うと面倒だったりします。</p>
<p>そこでMinimalDesignerです。</p>
<p>元々シンプルなものですのでそんなにレアウトにこだわるものではありませんが、コードジェネレートもあり、さくっと試す事が出来ます。</p>
<p><a href="http://www.bit-101.com/MinimalDesigner/">MinimalDesigner</a><br />
<a href="http://ria.blog.sus4.co.jp/files/2010/05/20100520112846-10-2.jpg" title="20100520112846 10-2" rel="lightbox[735]"><img src="http://ria.blog.sus4.co.jp/files/2010/05/20100520112846-10-2.jpg" alt="20100520112846 10-2" title="20100520112846 10-2" width="480" height="241" class="alignnone size-full wp-image-736" /></a></p>
<p>マウス操作のみで簡単にインターフェースを作る事が出来ます。<br />
コードジェネレーターではハンドラーやインスタンス名の設定も出来るので組み込む手間が省けます。ただしちゃんと設定しないと全部同じ名前になったりします。</p>
<p>日本語のテキスト入力にはminimalcompsが対応していないので出来ませんが、<a href="http://d.hatena.ne.jp/ActionScript/20091117/as3_minimal_comps_japanese">こちらの記事</a>等を参考にすると出来る様になるそうです。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F05%2F20%2Fui%25e8%25a9%25a6%25e4%25bd%259c%25e3%2581%25a7%25e3%2581%258d%25e3%2581%25be%25e3%2581%2599%25e3%2580%2580minimaldesigner%2F&amp;linkname=UI%E8%A9%A6%E4%BD%9C%E3%81%A7%E3%81%8D%E3%81%BE%E3%81%99%E3%80%80MinimalDesigner"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/05/20/ui%e8%a9%a6%e4%bd%9c%e3%81%a7%e3%81%8d%e3%81%be%e3%81%99%e3%80%80minimaldesigner/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10文字で伝える気持ち　手旗メール</title>
		<link>http://ria.blog.sus4.co.jp/2010/05/20/10%e6%96%87%e5%ad%97%e3%81%a7%e4%bc%9d%e3%81%88%e3%82%8b%e6%b0%97%e6%8c%81%e3%81%a1%e3%80%80%e6%89%8b%e6%97%97%e3%83%a1%e3%83%bc%e3%83%ab/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/05/20/10%e6%96%87%e5%ad%97%e3%81%a7%e4%bc%9d%e3%81%88%e3%82%8b%e6%b0%97%e6%8c%81%e3%81%a1%e3%80%80%e6%89%8b%e6%97%97%e3%83%a1%e3%83%bc%e3%83%ab/#comments</comments>
		<pubDate>Thu, 20 May 2010 13:06:42 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[今日の一選ウェブサイト]]></category>
		<category><![CDATA[flashlite]]></category>
		<category><![CDATA[動画]]></category>
		<category><![CDATA[ｼﾞｪﾈﾚｰﾀｰ]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=729</guid>
		<description><![CDATA[皆さんtwitterで140文字でつぶやいていますが、
今日紹介する手旗メールは10文字です。
10文字でなにを伝えましょうか？？
]]></description>
			<content:encoded><![CDATA[<p>皆さん140文字でつぶやいていますが、<br />
今日紹介する手旗メールは10文字です。<br />
10文字でなにを伝えましょうか？？</p>
<p>[0071 手旗メール]<br />
<a href="http://www.tebata.jp/pc/index.html">http://www.tebata.jp/pc/index.html</a><br />
<a href="http://ria.blog.sus4.co.jp/files/2010/05/panasonic.png" title="panasonic" rel="lightbox[729]"><img src="http://ria.blog.sus4.co.jp/files/2010/05/panasonic.png" alt="panasonic" title="panasonic" width="480" height="285" class="alignnone size-full wp-image-730" /></a></p>
<p>サイトでは手旗で文字を伝えてくれる動画を作り、携帯電話向けに送ることができます。<br />
旗を振る人、背景等が設定できます。<br />
すごいデジタルなアナログな感じがします。</p>
<p>試してみたところFlaslite2以上対応らしく見れませんでした。<br />
サイト上ではプレビューすることができます。</p>
<p>どこか味気なく思えてしまうのは、手旗だからでしょうか？<br />
携帯にしか送信できないの残念でした。<br />
UNIQLOのサイトのようにTwitterのアイコンにできる機能とかあったらいいと思いました。</p>
<p>フラッシュコンテンツを送信するとなると、<br />
一度サーバー上でswfファイルをコンパイルしているのでしょうか？？<br />
そこらへんの詳細も気になるところです。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F05%2F20%2F10%25e6%2596%2587%25e5%25ad%2597%25e3%2581%25a7%25e4%25bc%259d%25e3%2581%2588%25e3%2582%258b%25e6%25b0%2597%25e6%258c%2581%25e3%2581%25a1%25e3%2580%2580%25e6%2589%258b%25e6%2597%2597%25e3%2583%25a1%25e3%2583%25bc%25e3%2583%25ab%2F&amp;linkname=10%E6%96%87%E5%AD%97%E3%81%A7%E4%BC%9D%E3%81%88%E3%82%8B%E6%B0%97%E6%8C%81%E3%81%A1%E3%80%80%E6%89%8B%E6%97%97%E3%83%A1%E3%83%BC%E3%83%AB"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/05/20/10%e6%96%87%e5%ad%97%e3%81%a7%e4%bc%9d%e3%81%88%e3%82%8b%e6%b0%97%e6%8c%81%e3%81%a1%e3%80%80%e6%89%8b%e6%97%97%e3%83%a1%e3%83%bc%e3%83%ab/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>googlemapsを利用した大きさ比較　MAPfrappe</title>
		<link>http://ria.blog.sus4.co.jp/2010/04/26/googlemaps%e3%82%92%e5%88%a9%e7%94%a8%e3%81%97%e3%81%9f%e5%a4%a7%e3%81%8d%e3%81%95%e6%af%94%e8%bc%83%e3%80%80mapfrappe/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/04/26/googlemaps%e3%82%92%e5%88%a9%e7%94%a8%e3%81%97%e3%81%9f%e5%a4%a7%e3%81%8d%e3%81%95%e6%af%94%e8%bc%83%e3%80%80mapfrappe/#comments</comments>
		<pubDate>Mon, 26 Apr 2010 10:40:19 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[今日の一選ウェブサイト]]></category>
		<category><![CDATA[google maps]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=722</guid>
		<description><![CDATA[使い方は簡単で、上のマップにかいた図形が下のマップに表示されます。
下のマップの図形は固定なので、自由にマップを移動して大きさを比較することができます。
日本をヨーロッパに持っていくと、意外と大きいことが分ります。
これで北海道4つ分と言われた時にピンとくる力が養えると思います。]]></description>
			<content:encoded><![CDATA[<p>googlemapsを使ったコンテンツの紹介です。<br />
世界の縮尺をいろいろと手を動かしながら見れるコンテンツです。</p>
<p>鹿児島から北海道までの2倍とか例えられても、<br />
よく理解できなかったりしますが、そんな時に便利そうです。</p>
<p>[0070 MAPfrappe]<br />
<a href="http://ria.blog.sus4.co.jp/files/2010/04/mapfrappe1.png" title="mapfrappe" rel="lightbox[722]"><img src="http://ria.blog.sus4.co.jp/files/2010/04/mapfrappe1.png" alt="mapfrappe" title="mapfrappe" width="480" height="338" class="alignnone size-full wp-image-725" /></a></p>
<p>使い方は簡単で、上のマップにかいた図形が下のマップに表示されます。<br />
下のマップの図形は固定なので、自由にマップを移動して大きさを比較することができます。</p>
<p>日本をヨーロッパに持っていくと、意外と大きいことが分ります。<br />
これで北海道4つ分と言われた時にピンとくる力が養えると思います。</p>
<p>このマップはjavascriptで作られており、図形の描写にはcanvasタグが使われています。<br />
jsとflashでできることの共通点がどんどん増えてきました。それぞれの利点をいかしたコンテンツ作りに励もうと思います。このサイトのjsでのオブジェクトの座標管理などは参考になりそうです。</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F04%2F26%2Fgooglemaps%25e3%2582%2592%25e5%2588%25a9%25e7%2594%25a8%25e3%2581%2597%25e3%2581%259f%25e5%25a4%25a7%25e3%2581%258d%25e3%2581%2595%25e6%25af%2594%25e8%25bc%2583%25e3%2580%2580mapfrappe%2F&amp;linkname=googlemaps%E3%82%92%E5%88%A9%E7%94%A8%E3%81%97%E3%81%9F%E5%A4%A7%E3%81%8D%E3%81%95%E6%AF%94%E8%BC%83%E3%80%80MAPfrappe"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/04/26/googlemaps%e3%82%92%e5%88%a9%e7%94%a8%e3%81%97%e3%81%9f%e5%a4%a7%e3%81%8d%e3%81%95%e6%af%94%e8%bc%83%e3%80%80mapfrappe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>簡単なサウンドビジュアライザーを作ってみた。</title>
		<link>http://ria.blog.sus4.co.jp/2010/04/23/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%82%b5%e3%82%a6%e3%83%b3%e3%83%89%e3%83%93%e3%82%b8%e3%83%a5%e3%82%a2%e3%83%a9%e3%82%a4%e3%82%b6%e3%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/</link>
		<comments>http://ria.blog.sus4.co.jp/2010/04/23/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%82%b5%e3%82%a6%e3%83%b3%e3%83%89%e3%83%93%e3%82%b8%e3%83%a5%e3%82%a2%e3%83%a9%e3%82%a4%e3%82%b6%e3%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/#comments</comments>
		<pubDate>Fri, 23 Apr 2010 10:48:00 +0000</pubDate>
		<dc:creator>立石 直敬</dc:creator>
				<category><![CDATA[作ってみた]]></category>
		<category><![CDATA[bitmap]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[sound]]></category>

		<guid isPermaLink="false">http://ria.blog.sus4.co.jp/?p=708</guid>
		<description><![CDATA[フラッシュで簡単なサウンドビジュアライザーを作ってみました。ローカルファイルの読み込みやMP３への変換、ビットマップ表示などを行っています。]]></description>
			<content:encoded><![CDATA[<p>さくっとフラッシュを作って公開してみる。<br />
さっくとのルールは</p>
<ul>
<li>使ったことないクラス又はライブラリを使う</li>
<li>1時間以内に作る</li>
</ul>
<p>です。wonderflで公開しようと思ったのですが、<br />
byteArrayをmp3に自分で変換するのには、ちょっと無理があり、<a href="http://www.flexiblefactory.co.uk/flexible/?p=46">MP3FileReferenceLoader</a>というライブラリを使わせて頂いたのでwonderflでの公開が無理になりました。途中までwonderflで書いてたので、asファイルが一つにまとまってます。</p>
<p>今回やりたかったことは</p>
<ul>
<li>ローカルファイルを直接読み込む</li>
<li>byteArray→MP3に変換する</li>
<li>SoundMixer.computeSpectrumを使ってみる</li>
<li>ビットマップを使って表現する</li>
</ul>
<p>出来上がりが↓になります。<br />
ローカルのmp3を読み込んでみてください。</p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="500" height="500" id="soundtest" align="middle"><param name="allowScriptAccess" value="sameDomain" /><param name="allowFullScreen" value="false" /><param name="movie" value="http://ria.blog.sus4.co.jp/files/2010/04/soundtest.swf" /><param name="quality" value="high" /><param name="bgcolor" value="#000000" /><embed src="http://ria.blog.sus4.co.jp/files/2010/04/soundtest.swf" quality="high" bgcolor="#000000" width="500" height="500" name="soundtest" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.adobe.com/go/getflashplayer_jp" /><br />
	</object></p>
<p>ソースコード<br />
他にも色々想定してたので無駄なところもありますが&#8230;</p>
<pre class="brush: as3; ">

package
{
	import flash.display.Sprite;

	public class Main extends Sprite
	{
		public static const CHANGEMP3:String = &quot;changemp3&quot;;

		public function Main()
		{
			var model:Model = new Model();
			var view:View = new View(model);
			var control:Controller = new Controller(model);

			addChild(view);
			addChild(control);
		}
	}
}

import flash.events.Event;
import flash.events.EventDispatcher;
import flash.filters.BlurFilter;
import flash.media.Sound;
import flash.media.SoundChannel;
import flash.media.SoundMixer;
import flash.net.FileFilter;
import flash.net.FileReference;
import flash.utils.ByteArray;
import org.audiofx.mp3.MP3FileReferenceLoader;
import org.audiofx.mp3.MP3SoundEvent;

class Model extends EventDispatcher
{
	private var _fr:FileReference;
	private var _loader:MP3FileReferenceLoader;
	private var _soundData:Sound;
	private var _channel:SoundChannel;

	public function get mp3():Sound
	{
		return _soundData;
	}

	public function Model()
	{
		_fr = new FileReference();
		_loader = new MP3FileReferenceLoader();
	}

	public function loadHandler():void
	{
		_fr.addEventListener(Event.SELECT, secectHandler);
		var imagesFilter:FileFilter = new FileFilter(&quot;MP3ファイル&quot;, &quot;*.mp3&quot;);
		_fr.browse([imagesFilter]);
	}

	private function secectHandler(e:Event):void
	{
		_fr.removeEventListener(Event.SELECT, arguments.callee);
		_loader.addEventListener(MP3SoundEvent.COMPLETE, loaderCompleteHandler);
		_loader.getSound(_fr);
	}

	private function loaderCompleteHandler(e:MP3SoundEvent):void
	{
		_loader.removeEventListener(MP3SoundEvent.COMPLETE, loaderCompleteHandler);
		if (_channel) {
			_channel.stop();
			_soundData = null;
		}
		_soundData = e.sound;
		_channel = _soundData.play();
		dispatchEvent(new Event(Main.CHANGEMP3));
	}
}

import flash.display.Bitmap;
import flash.display.Graphics;
import flash.display.Sprite;
import flash.display.BitmapData;
import flash.display.BlendMode;
import flash.geom.Point;

class View extends Sprite
{
	private var _byteArray:ByteArray = new ByteArray();

	private var blur:BlurFilter;
	private var container:Sprite;
	private var src:Sprite;
	private var bmd:BitmapData;
	private var _model:Model

	public function View(m:Model)
	{
		_model = m;
		_model.addEventListener(Main.CHANGEMP3, chagemp3);

		blur = new BlurFilter(5, 10);
		bmd = new BitmapData(500, 500, true, 0x00000000);

		container = new Sprite();
		src = new Sprite();

		addChild(new Bitmap(bmd));
		container.addChild(src);
	}

	private function chagemp3(e:Event):void
	{
		removeEventListener(Event.ENTER_FRAME, enterFrameHandler);

		addEventListener(Event.ENTER_FRAME, enterFrameHandler);
	}

	private function enterFrameHandler(e:Event):void
	{
		SoundMixer.computeSpectrum(_byteArray, false, 0);
		var g:Graphics = src.graphics;
		g.clear();

		g.lineStyle( 0, 0xFFFFFF );
		var colNum:Number = Math.floor(Math.random() * 0xFFFFFF);
		g.beginFill (colNum, 0.2);

		var n:Number = 0;
		n = ( _byteArray.readFloat() * 100 );
		g.drawCircle(250,250,(100 - n));

		bmd.lock();
		bmd.draw(container)//,null,null,BlendMode.ADD);
		bmd.applyFilter(bmd,bmd.rect,new Point(), blur);
		bmd.unlock();
	}
}

import fl.controls.Button;
import flash.events.MouseEvent;

class Controller extends Sprite
{
	private var _model:Model;
	private var loadBtn:Button;

	public function Controller(m:Model)
	{
		_model = m;
		loadBtn = new Button();
		loadBtn.label = &quot;load mp3&quot;
		addChild(loadBtn);

		loadBtn.addEventListener(MouseEvent.CLICK, clickHandler);
	}

	private function clickHandler(e:MouseEvent):void
	{
		_model.loadHandler();
	}
}
</pre>
<p>さくっとなので、エラー処理なども一切ないです。<br />
たまに変換できないmp3もあるみたいです。<br />
ByteArrayからｊｐｇやpngへの変換は<a href="http://code.google.com/p/as3corelib/">as3corelib</a>を利用するとできます。<br />
SoundMixer.computeSpectrumはどうやら挙動が怪しいそうなので、そのうち検証してみたいです。</p>
<p>次はなににしようかな</p>
<a class="a2a_dd addtoany_share_save" href="http://www.addtoany.com/share_save?linkurl=http%3A%2F%2Fria.blog.sus4.co.jp%2F2010%2F04%2F23%2F%25e7%25b0%25a1%25e5%258d%2598%25e3%2581%25aa%25e3%2582%25b5%25e3%2582%25a6%25e3%2583%25b3%25e3%2583%2589%25e3%2583%2593%25e3%2582%25b8%25e3%2583%25a5%25e3%2582%25a2%25e3%2583%25a9%25e3%2582%25a4%25e3%2582%25b6%25e3%2583%25bc%25e3%2582%2592%25e4%25bd%259c%25e3%2581%25a3%25e3%2581%25a6%25e3%2581%25bf%25e3%2581%259f%25e3%2580%2582%2F&amp;linkname=%E7%B0%A1%E5%8D%98%E3%81%AA%E3%82%B5%E3%82%A6%E3%83%B3%E3%83%89%E3%83%93%E3%82%B8%E3%83%A5%E3%82%A2%E3%83%A9%E3%82%A4%E3%82%B6%E3%83%BC%E3%82%92%E4%BD%9C%E3%81%A3%E3%81%A6%E3%81%BF%E3%81%9F%E3%80%82"><img src="http://ria.blog.sus4.co.jp/wp-content/plugins/add-to-any/share_save_171_16.png" width="171" height="16" alt="Share/Bookmark"/></a>]]></content:encoded>
			<wfw:commentRss>http://ria.blog.sus4.co.jp/2010/04/23/%e7%b0%a1%e5%8d%98%e3%81%aa%e3%82%b5%e3%82%a6%e3%83%b3%e3%83%89%e3%83%93%e3%82%b8%e3%83%a5%e3%82%a2%e3%83%a9%e3%82%a4%e3%82%b6%e3%83%bc%e3%82%92%e4%bd%9c%e3%81%a3%e3%81%a6%e3%81%bf%e3%81%9f%e3%80%82/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

