<?xml version="1.0" encoding="utf-8"?>
<rss version="2.0">
<channel>
<title>PUBLICROOTS | mtFlash</title>
<link>http://www.publicroots.com/fmt/</link>
<description></description>
<language>ja</language>
<copyright>Copyright 2012</copyright>
<lastBuildDate>Wed, 11 Apr 2012 19:11:19 +0900</lastBuildDate>
<generator>http://www.movabletype.org/?v=3.151-ja</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 

<item>
<title>Chromeの音声入力 x-webkit-speech</title>
<description><![CDATA[<p>Chromeの音声入力を実際にちょっと触ってみたのでメモ。</p>

<p><em>html</em><br />
x-webkit-speech属性を使う。<br />
<pre><br />
〜<br />
＜body＞<br />
＜input type="text" id="utterance" x-webkit-speech /＞<br />
＜textarea id="results" style="width:400px;height:200px;"＞＜/textarea＞<br />
</body＞<br />
〜<br />
</pre></p>

<p><br />
<em>Javascript</em><br />
onwebkitspeechchangeイベントでハンドリングして、<br />
this.valueで文字情報を取得する。<br />
<pre><br />
$(document).ready(function(){<br />
　/*音声認識処理*/<br />
　var voicesharp = document.getElementById("utterance");<br />
　voicesharp.addEventListener('webkitspeechchange',input_change,false);<br />
});<br />
/*音声認識処理*/<br />
function input_change(e)<br />
{<br />
　var inputText = this.value;<br />
　console.log('event:' + inputText);<br />
　//alert(inputText);<br />
　<br />
　if (inputText.match(/テスト/)) {<br />
　　task01(inputText);<br />
　} else {<br />
　　task02(inputText);<br />
　}<br />
}<br />
function task01(_oktxt) {<br />
　//alert("task01");<br />
　console.log("action start");<br />
　$("#results").val(_oktxt);<br />
};	<br />
function task02(_errtxt) {<br />
　//alert("task02");<br />
　console.log("no action");<br />
　$("#results").val(_errtxt);<br />
};<br />
</pre></p>

<p>詳細はこちらから<br />
<a href="http://earlgreyx.wordpress.com/2011/05/03/html-speech-input-on-google-chrome/" target="_blank">http://earlgreyx.wordpress.com/2011/05/03/html-speech-input-on-google-chrome/</a></p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000368.html</link>
<guid>http://www.publicroots.com/fmt/archives/000368.html</guid>
<category>html5</category>
<pubDate>Wed, 11 Apr 2012 19:11:19 +0900</pubDate>
</item>
<item>
<title>Chromeの音声入力</title>
<description><![CDATA[<p>HTML5の<em>x-webkit-speech</em>を使ったChromeの音声入力で<br />
面白いサンプルを見つけたのでメモ。</p>

<p><em>＜input type="text" x-webkit-speech /＞</em></p>

<p><a href="http://slides.html5rocks.com/#speech-input" target="_blank">http://slides.html5rocks.com/#speech-input</a></p>

<p><script type="text/javascript" src="http://jsdo.it/blogparts/dj6C/js?view=design"></script><p class="ttlBpJsdoit" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://jsdo.it/pypupypa/raputa" title="滅びの呪文（Chrome＆マイク付きPCでやってね）">滅びの呪文（Chrome＆マイク付きPCでやってね） - jsdo.it - share JavaScript, HTML5 and CSS</a></p><br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000367.html</link>
<guid>http://www.publicroots.com/fmt/archives/000367.html</guid>
<category>html5</category>
<pubDate>Wed, 11 Apr 2012 17:02:44 +0900</pubDate>
</item>
<item>
<title>jQuery Mobile</title>
<description><![CDATA[<p>どうやらGALAXY系のスマホに対応していないようなのでメモ。<br />
普通のjQueryは問題ないようです。</p>

<p><em>jQuery Mobile</em><br />
<a href="http://jquerymobile.com/" target="_blank">http://jquerymobile.com/</a><br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000366.html</link>
<guid>http://www.publicroots.com/fmt/archives/000366.html</guid>
<category>JavaScript</category>
<pubDate>Fri, 06 Apr 2012 18:46:35 +0900</pubDate>
</item>
<item>
<title>JSONとは</title>
<description><![CDATA[<p>JSONとはJavaScript Object Notationの略で、テキストベースのデータフォーマットです。<br />
JavaScriptとの親和性の高さから現在ではAjaxでのデータ交換フォーマットとして広く利用されています。</p>

<p><em>XMLでの表記</em><br />
<pre>＜?xml version="1.0" encoding="utf-8"?＞<br />
＜data＞<br />
　＜selection＞<br />
　　＜ukey＞××××＜/ukey＞<br />
　　＜name＞NAME＜/name＞<br />
　＜/selection＞<br />
＜/data＞<br />
</pre></p>

<p><em>JSONでの表記</em><br />
<pre>{<br />
 "selection" :<br />
　[<br />
　　{<br />
　　　"ukey" : "××××",<br />
　　　"name" : "NAME",<br />
　　}<br />
　]<br />
}<br />
</pre><br />
<br /><br />
<em>jQuery.ajax()で読み込む方法</em><br />
<pre>/*JSON読み込み*/<br />
jQuery.ajax({<br />
　url : 'data.json',<br />
　dataType : 'json',<br />
　success: handleSuccess, <br />
　error: handleError, <br />
　complete: handleComplete <br />
});<br />
〜<br />
/*JSON読み込んだ後の処理*/<br />
/*Ajax通信成功時の処理*/<br />
function handleSuccess(data, dataType)<br />
{<br />
　//alert("Success");<br />
　var texts = data.text;<br />
　$("#jsonarea").html(texts[0]);//内容表示<br />
}<br />
/*Ajax通信失敗時の処理*/<br />
function handleError(XMLHttpRequest, textStatus, errorThrown) {<br />
　//alert("Error");<br />
}<br />
/*Ajax通信終了時の処理 → エラーがあってもコンプリートされる*/<br />
function handleComplete(XMLHttpRequest, textStatus) {<br />
　//alert("Complete");<br />
}<br />
</pre></p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000365.html</link>
<guid>http://www.publicroots.com/fmt/archives/000365.html</guid>
<category>JavaScript</category>
<pubDate>Fri, 06 Apr 2012 17:59:53 +0900</pubDate>
</item>
<item>
<title>Facebookのプロフィール写真について</title>
<description><![CDATA[<p>Facebookのプロフィール写真に関するメモ。</p>

<p>Facebookはtwitterやmixiのようにプロフィール写真を変更するAPIが存在しないので、<br />
ユーザー自身に変更してもら必要がありました。</p>

<p>ただ、これを上手に使っているキャンペーンサイトを発見しましたのでメモ。</p>

<p>流れとしては、APIで画像をアルバムに追加して、<br />
「プロフィール写真にする」編集ページにリンクを貼る感じ。</p>

<p>そのサイトは下記になります。<br />
<em>Mr.MINTIA FANCLUB</em><br />
本田圭佑氏扮するMr.MINTIAのファンクラブサイト。<br />
MP3プレーヤーやサングラスなどが当たるキャンペーン実施中です。<br />
<a href="http://www.mintia.jp/" target="_blank">http://www.mintia.jp/</a></p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000364.html</link>
<guid>http://www.publicroots.com/fmt/archives/000364.html</guid>
<category>Facebook</category>
<pubDate>Thu, 29 Mar 2012 21:42:19 +0900</pubDate>
</item>
<item>
<title>Facebookページのアプリのサムネイル画像のサイズについて</title>
<description><![CDATA[<p>Facebookページのアプリのサムネイル画像のサイズについてメモ。</p>

<p>今までのやり方では、どうしても左右が切れてしまうか縮小されてしまいます。<br />
変更する方法としては下記です。<br />
「facebookページを編集」→「アプリ」→変更したいアプリの「設定を編集」→カスタムタブの画像の「変更」→画像をアップロード<br />
※サムネイルのサイズは117＊74</p>

<p>というか久しぶりの投稿だな。。。</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000363.html</link>
<guid>http://www.publicroots.com/fmt/archives/000363.html</guid>
<category>Facebook</category>
<pubDate>Thu, 29 Mar 2012 21:34:51 +0900</pubDate>
</item>
<item>
<title>Facebookでのプロモーションについて</title>
<description><![CDATA[<p>下記サイトに詳しく書かれているので確認しておいた方がいいね。</p>

<p><b>Facebookプロモーションであなたが知っておくべきこと。</b><br />
<a href="http://socialmedia360.jp/overseas/facebook-promotions-what-you-need-to-know.html" target="_blank">http://socialmedia360.jp/overseas/facebook-promotions-what-you-need-to-know.html</a></p>

<p><i>（引用）<br />
Facebookの機能をプロモーションに使ってはいけない。Facebook上でコンテストを運営する際には、Facebookのプラットフォーム上でサードパーティアプリケーションを用いなければなりません。</p>

<p>なので、ファンの中からランダムに選んで賞品を授与することもできません。（Facebookの機能を使って抽選をして受賞者を選んだことになってしまうので）<br />
Facebookの内部で（eメール、チャット、ウォールへの投稿によって）受賞者とコンタクトを取ることは許されていないのです。<br />
自分のページ のウォールに受賞者を投稿するのも禁止です。</p>

<p>Facebook上で、受賞者の選抜を含むキャンペーンをする場合には、つねにFacebookのプロモーションガイドラインの適用対象となります。<br />
</i></p>

<p><b>プロモーションガイドライン</b><br />
<a href="http://www.facebook.com/promotions_guidelines.php" target="_blank">http://www.facebook.com/promotions_guidelines.php</a></p>

<p><br />
コンテストを運営するのにベストなアプリケーションには下記があります。<br />
かなりの格安でできます。<br />
<em>Wildfireapp</em><br />
<a href="http://www.wildfireapp.com/" target="_blank">http://www.wildfireapp.com/</a><br />
<em>モニプラ</em><br />
<a href="http://monipla.jp/" target="_blank">http://monipla.jp/</a></p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000358.html</link>
<guid>http://www.publicroots.com/fmt/archives/000358.html</guid>
<category>Facebook</category>
<pubDate>Tue, 04 Oct 2011 16:47:19 +0900</pubDate>
</item>
<item>
<title>AS3 : テキストを一文字ずつ表示</title>
<description><![CDATA[<p>Tweenerで簡単にテキストを一文字ずつ表示できるみたいなのでメモ。</p>

<pre>
package {<br>
　import flash.display.Sprite;<br>
　import caurina.transitions.Tweener;<br>
　import caurina.transitions.properties.TextShortcuts;<br>
　<br>
　TextShortcuts.init(); //テキストショートカットを初期化<br>
　<br>
　public class Main extends Sprite {<br>
　　public function Main() {<br>
　　　var sample_text:String = "Tweenerで簡単にテキストを一文字ずつ表示";<br>
　　　//2秒間<br>
　　　Tweener.addTween(text_field, {time:2, _text:sample_text, transition:"linear"});<br>
　　}<br>
　}<br>
}
</pre>

<p>こりゃあ簡単だ。</p>

<p>参考サイトはこちら<br />
<a href="http://www.almondlab.jp/notes/432" target="_blank">http://www.almondlab.jp/notes/432</a><br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000354.html</link>
<guid>http://www.publicroots.com/fmt/archives/000354.html</guid>
<category>Tween</category>
<pubDate>Tue, 05 Jul 2011 19:22:22 +0900</pubDate>
</item>
<item>
<title>AS3 : TextField フォーカスイベント</title>
<description><![CDATA[<p>テキストエリアがフォーカス（選択）されたか、されてないかの判定。</p>

<p>フォーカスされた時<br />
<em>FocusEvent.FOCUS_IN</em><br />
フォーカスが外れた時<br />
<em>FocusEvent.FOCUS_OUT</em></p>

<pre>
stage.addEventListener(FocusEvent.FOCUS_IN,focusIn);<br>
stage.addEventListener(FocusEvent.FOCUS_OUT,focusOut);<br>
〜<br>
private function focusIn(e:FocusEvent):void {<br>
　trace("focusIn");<br>
}<br>
private function focusOut(e:FocusEvent):void {<br>
　trace("focusOut");<br>
}
</pre>

<p>参考サイトはこちら<br />
<a href="http://moire69.sakura.ne.jp/ac/?p=222" target="_blank">http://moire69.sakura.ne.jp/ac/?p=222</a><br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000353.html</link>
<guid>http://www.publicroots.com/fmt/archives/000353.html</guid>
<category>AS3</category>
<pubDate>Fri, 01 Jul 2011 20:20:20 +0900</pubDate>
</item>
<item>
<title>Facebook/twitterのアプリ解除</title>
<description><![CDATA[<p>Facebook/twitterのアプリを解除する方法ですが、すぐに忘れるのでメモります。</p>

<p>それぞれ下記ページから解除できます。<br />
<em>facebook</em><br />
<a href="http://www.facebook.com/settings/?tab=applications#!/settings/?tab=applications" target="_blank">http://www.facebook.com/settings/?tab=applications#!/settings/?tab=applications</a><br />
<em>twitter</em><br />
<a href="http://twitter.com/settings/applications" target="_blank">http://twitter.com/settings/applications</a></p>

<p><br />
ちなみにプロフィール画像のサイズは下記です。<br />
<em>Facebook</em><br />
・square ・・・ 50 * 50px (デフォルト)<br />
・small ・・・ 幅 50px で縦は比率を保った長さ<br />
・normal ・・・ 幅 100px で縦は比率を保った長さ<br />
・large ・・・ アップロードしたオリジナル画像<br />
<em>twitter</em><br />
・mini ・・・ 24  * 24px<br />
・normal ・・・ 48 * 48px<br />
・bigger ・・・ 73 * 73px<br />
・reasonably_small ・・・ 128 * 128px<br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000350.html</link>
<guid>http://www.publicroots.com/fmt/archives/000350.html</guid>
<category>Facebook</category>
<pubDate>Thu, 26 May 2011 20:28:31 +0900</pubDate>
</item>
<item>
<title>Facebookの「いいね！」ボタンを押した時のサムネイル画像</title>
<description><![CDATA[<p>Facebookの「いいね！」ボタンを押した時のサムネイル画像の指定の仕方って簡単にできるみたい。</p>

<p><em>&lt;meta property="og:image" content="image_url"/&gt;</em></p>

<p>これを追加すればOKです。<br />
画像はpng、jpg、gifが指定可能で、サイズは50x50px以上<br />
画角は最大3:1まで推奨のようです。<br />
設置はhead内</p>

<p>「URLリンター」ページよりチェックができます。<br />
<a href="http://developers.facebook.com/tools/lint/" target="_blank">http://developers.facebook.com/tools/lint/</a></p>

<p>参考サイトはこちら<br />
<a href="http://ameblo.jp/senkodou/entry-10870730936.html" target="_blank">http://ameblo.jp/senkodou/entry-10870730936.html</a><br />
<a href="http://design.kayac.com/topics/2010/10/meta-facebook.php" target="_blank">http://design.kayac.com/topics/2010/10/meta-facebook.php</a></p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000348.html</link>
<guid>http://www.publicroots.com/fmt/archives/000348.html</guid>
<category>Facebook</category>
<pubDate>Mon, 09 May 2011 02:07:26 +0900</pubDate>
</item>
<item>
<title>twitter bot</title>
<description><![CDATA[<p>下記の参考サイトを元に簡単なbotを作ってみました。<br />
<a href="http://plus-lab-style.asia/archives/919" target="_blank">http://plus-lab-style.asia/archives/919</a></p>

<p><br />
1. twitterにOAuthの認証に使用するアカウント(OAuthでtwitterを利用するbotまたはWebアプリのアカウント）で<br />
ログイン済みの状態にした上で、アプリケーションの登録を行います。<br />
<a href="http://twitter.com/oauth_clients" target="_blank">http://twitter.com/oauth_clients</a></p>

<p>そこで取得した<em>Consumer key</em>と<em>Consumer secret</em>の2つの値を使います。</p>

<p><br />
2. 下記サイトよりバージョン2.0以上のファイルをダウンロードして下さい。<br />
<a href="https://github.com/abraham/twitteroauth" target="_blank">https://github.com/abraham/twitteroauth</a></p>

<p>この中の<em>OAuth.php</em>と<em>twitteroauth.php</em>を使います。</p>

<p><br />
3. 下記の情報をファイル名を「oauth_test.php」で同じ階層に保存します。<br />
<a href="http://www.sdn-project.net/labo/oauth_test.txt" target="_blank">http://www.sdn-project.net/labo/oauth_test.txt</a></p>

<p>Consumer keyConsumer secretの2つの値を入れておきます。<br />
これまでのファイルをサーバーにアップして「oauth_test.php」にアクセスして、OAuthの認証作業を行います。<br />
アカウント認証ページが現れるので、「許可する」をクリックします。<br />
すると、<em>Access Token</em>と<em>Access Token Secret</em>に値が入力された状態になっています。</p>

<p><br />
4. あとは、先程取得した値をいれて下記のphpファイルを作成すれば完成です。<br />
<em>Consumer key</em>、<em>Consumer secret</em>、<em>Access Token</em>、<em>Access Token Secret</em>の値をいれます。</p>

<p><em>index.php</em><br />
<pre><br />
<?<br />
require_once(“twitteroauth.php”);<br />
//下の4つの変数に、実際の値を記述して下さい。<br />
$consumer_key = “Consumer keyの値”;<br />
$consumer_secret = “Consumer secretの値”;<br />
$access_token = “Access Tokenの値”;<br />
$access_token_secret = “Access Token Secretの値”;</p>

<p>// メッセージ<br />
//$message = "tweet sample1"; </p>

<p>// OAuthオブジェクト生成<br />
$to = new TwitterOAuth($consumer_key,$consumer_secret,$access_token,$access_token_secret);</p>

<p>// TwitterへPOSTする<br />
$req = $to->OAuthRequest(“https://twitter.com/statuses/update.xml”,”POST”,array(“status”=>”Test OAuth update.”));<br />
header(“Content-Type: application/xml”);<br />
echo $req;<br />
?><br />
</pre></p>

<p>これで一式をサーバーにアップして、index.phpにアクセスすれば、<br />
該当のtwitterアカウントにtweetされます。<br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000345.html</link>
<guid>http://www.publicroots.com/fmt/archives/000345.html</guid>
<category>php</category>
<pubDate>Wed, 20 Apr 2011 14:58:18 +0900</pubDate>
</item>
<item>
<title>Googleストリートビュー+Flash</title>
<description><![CDATA[<p>GoogleストリートビューとFlashの連携って意外に簡単なんですね。</p>

<p>Timerを使って、配列に格納した緯度、経度へ<br />
マップのマーカーとストリートビューを移動させます。</p>

<p>ストリートビューを移動させるのは、ExternalInterface.callでJSと連携するらしいです。</p>

<p>参考サイトはここ<br />
<a href="http://blog.alt-scape.com/archives/246" target="_blank">http://blog.alt-scape.com/archives/246</a></p>

<p><br />
【追記_20110404】<br />
アプリケーションでセンサー（GPS など）を使用しているかどうかを指定するものとして、<br />
センサーのパラメータが追加になってますね。<br />
<em>map.sensor = "false";</em><br />
または<br />
<em>yourkey&sensor=true_or_false</em></p>

<p>デベロッパー ガイドを参照ください。<br />
<a href="http://code.google.com/intl/ja/apis/maps/documentation/premier/guide.html#Sensor" target="_blank">http://code.google.com/intl/ja/apis/maps/documentation/premier/guide.html#Sensor</a><br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000342.html</link>
<guid>http://www.publicroots.com/fmt/archives/000342.html</guid>
<category>GoogleMap</category>
<pubDate>Thu, 31 Mar 2011 16:58:58 +0900</pubDate>
</item>
<item>
<title>AS3 : 画像のアップロード</title>
<description><![CDATA[<p>ローカルから画像ファイルをアップロードする方法。</p>

<p>間違いやすい点として戻り値は<br />
<em>Event.COMPLETE</em> ではなくて、<br />
<em>DataEvent.UPLOAD_COMPLETE_DATA</em> より取得する。</p>

<p>JPGEncoderのライブラリーは<a href="http://www.publicroots.com/download/adobe.zip">こちら</a>から一式DLください。</p>

<pre>
〜<br />
import com.adobe.images.JPGEncoder;<br />
import flash.utils.ByteArray;<br />
import jp.psyark.net.MultipartFormDataBuilder;<br />
〜<br />
private function SelectAction():void<br />
{<br />
　//セレクト<br />
　fileRef = new FileReference();<br />
　fileRef.addEventListener( Event.SELECT, onSelectFile );<br />
　var imagesFilter:FileFilter = new FileFilter("Images", "*.jpg");<br />
　fileRef.browse([imagesFilter]);<br />
}<br />
private function onSelectFile( e:Event ):void<br />
{<br />
　fileRef.removeEventListener( Event.SELECT, onSelectFile );<br />
　if(fileRef.size <= 5000000){//5M以下の場合<br />
　　fileRef.addEventListener(Event.COMPLETE, onFileLoaded);<br />
　　fileRef.addEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);<br />
　　fileRef.addEventListener(ProgressEvent.PROGRESS, onProgress);<br />
　　fileRef.load();<br />
　}<br />
}<br />
//onFileLoadError<br />
private function onFileLoadError(event:Event):void<br />
{<br />
　fileRef.removeEventListener(Event.COMPLETE, onFileLoaded);<br />
　fileRef.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);<br />
　fileRef.removeEventListener(ProgressEvent.PROGRESS, onProgress);<br />
　trace("File load error");<br />
}<br />
//onProgress<br />
private function onProgress(event:ProgressEvent):void<br />
{<br />
　var percentLoaded:Number=event.bytesLoaded/event.bytesTotal*100;<br />
　trace("loaded: "+percentLoaded+"%");<br />
}<br />
//onFileLoaded<br />
private function onFileLoaded(event:Event):void<br />
{<br />
　fileRef.removeEventListener(Event.COMPLETE, onFileLoaded);<br />
　fileRef.removeEventListener(IOErrorEvent.IO_ERROR, onFileLoadError);<br />
　fileRef.removeEventListener(ProgressEvent.PROGRESS, onProgress);<br />
　<br />
　var fileReference:FileReference=event.target as FileReference;<br />
　var data:ByteArray=fileReference["data"];<br />
　trace("File loaded");<br />
　var movieClipLoader:Loader=new Loader();<br />
　movieClipLoader.loadBytes(data);<br />
　<em>movieClipLoader.contentLoaderInfo.addEventListener(Event.COMPLETE, onMCLoaderComplete);</em><br />
}<br />
//onMCLoaderComplete<br />
private function onMCLoaderComplete(event:Event):void<br />
{<br />
　trace("onMovieClipLoaderComplete");<br />
　//BitmapData<br />
　var upppbmp:BitmapData = Bitmap(event.target.content).bitmapData;<br />
　trace("upppbmp = "+upppbmp);<br />
　<br />
　//エンコードする<br />
　<em>var jpegup:JPGEncoder = new JPGEncoder(100);</em><br />
　<em>var byteArrup:ByteArray = jpegup.encode(upppbmp);</em><br />
　<br />
　var selecturl:URLRequest = new URLRequest();<br />
　selecturl.url = _uploaderphp;<br />
　var variables:URLVariables = new URLVariables();<br />
　variables.imgupload = byteArrup;<br />
　selecturl.method = URLRequestMethod.POST;<br />
　selecturl.data = variables;<br />
　<br />
　fileRef.addEventListener(Event.COMPLETE, onUploadData);<br />
　<em>fileRef.addEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadDataHandler);</em><br />
　fileRef.addEventListener(ProgressEvent.PROGRESS, onProgressUP);<br />
　//fileRef.addEventListener(IOErrorEvent.IO_ERROR, ioErrorUP);<br />
　fileRef.upload(selecturl);<br />
}<br />
//===================================================//<br />
//アップロードと同時にXMLを取得する：UPLOAD_COMPLETE_DATA<br />
//===================================================//<br />
private function uploadDataHandler(e:DataEvent):void<br />
{<br />
　fileRef.removeEventListener(DataEvent.UPLOAD_COMPLETE_DATA, uploadDataHandler);<br />
　//XML取得<br />
　var uploaderXML:XML = new XML( e.data );<br />
　trace("uploaderXML = "+uploaderXML);<br />
}<br />
〜<br />
</pre>]]></description>
<link>http://www.publicroots.com/fmt/archives/000339.html</link>
<guid>http://www.publicroots.com/fmt/archives/000339.html</guid>
<category>AS3</category>
<pubDate>Mon, 24 Jan 2011 14:12:22 +0900</pubDate>
</item>
<item>
<title>AS3 : CASA Framework</title>
<description><![CDATA[<p>以下よりCASAのAS3ライブラリーをダウンロードします。<br />
<a href="http://svn.as3.casalib.org/dev/" target="_blank">http://svn.as3.casalib.org/dev/</a><br />
めんどくさい人は<a href="http://www.publicroots.com/download/org.zip">こちら</a>から一式DLください。</p>

<pre>
package {<br />
	import flash.display.*;<br />
	import flash.events.*;<br />
	import flash.net.*;<br />
	import flash.utils.*;<br />
	import org.casalib.load.*;<br />
	import org.casalib.events.*;<br />
	<br />
	public class CasaSampleCls<br />
	{<br />
　　　private var _imgURLs:Array = ["data/samp1.jpg", "data/samp2.jpg", "data/samp3.jpg", "data/samp4.jpg", "data/samp5.jpg"];<br />
　　　private var _groupLoad:GroupLoad; <br />
　　　<br />
　　　public function ActionCls():void<br />
　　　{<br />
　　　　//グループロードする<br />
　　　　startLoadGroup();<br />
　　　}<br />
　　　private function startLoadGroup():void<br />
　　　{<br />
　　　　_groupLoad = new GroupLoad();<br />
　　　　_groupLoad.addEventListener(LoadEvent.COMPLETE, onCompleteGroupLoad);<br />
　　　　var len:int = _imgURLs.length;<br />
　　　　for (var i:int = 0; i < len; i++) <br />
　　　　{<br />
　　　　　var imageLoad:ImageLoad = new ImageLoad(_imgURLs[i]);<br />
　　　　　imageLoad.addEventListener(IOErrorEvent.IO_ERROR, onErrorImageLoad);<br />
　　　　　_groupLoad.addLoad(imageLoad);<br />
　　　　}<br />
　　　　//スタート<br />
　　　　_groupLoad.start();<br />
　　　}<br />
　　　private function onErrorImageLoad(e:IOErrorEvent):void<br />
　　　{<br />
　　　　trace("onErrorImageLoad");<br />
　　　　<br />
　　　　var imgs:Array = _groupLoad.completedLoads;  //ロードが成功した画像<br />
　　　　var len:int = imgs.length;<br />
　　　　for (var i = 0; i < len; i++)<br />
　　　　{<br />
　　　　　if (!imgs[i].loaded)<br />
　　　　　{<br />
　　　　　//ロードが失敗した画像のかわりにエラー画像のURLを入れる。<br />
　　　　　_imgURLs[i] = "data/error.jpg";<br />
　　　　}<br />
　　　}<br />
　　　//もう一度グループロードする<br />
　　　startLoadGroup();<br />
　　}<br />
　　private function onCompleteGroupLoad(e:LoadEvent):void<br />
　　{<br />
　　　trace("onCompleteGroupLoad");<br />
　　　<br />
　　　var len:int = _groupLoad.loads.length;<br />
　　　for (var i:int = 0; i < len; i++) <br />
　　　{<br />
　　　　var img:Bitmap = _groupLoad.loads[i].contentAsBitmap;  //ビットマップにキャストする。<br />
　　　　img.smoothing = true;<br />
　　　　img.x = 0;<br />
　　　　img.y = 0;<br />
　　　　addChild(img);<br />
　　　}<br />
　}<br />
}<br />
</pre>

<p>参考サイトはこちら<br />
<a href="http://d.hatena.ne.jp/yoshidam/20100402/1270202619" target="_blank">http://d.hatena.ne.jp/yoshidam/20100402/1270202619 </a><br />
</p>]]></description>
<link>http://www.publicroots.com/fmt/archives/000337.html</link>
<guid>http://www.publicroots.com/fmt/archives/000337.html</guid>
<category>AS3</category>
<pubDate>Wed, 19 Jan 2011 18:58:43 +0900</pubDate>
</item>


</channel>
</rss>
