<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
<channel>
<title>_level0.KAYAC</title>
<link>http://level0.kayac.com/</link>
<link rel="shortcut icon" href="http://level0.kayac.com/favicon.ico" type="image/x-icon" />
<description></description>
<language>ja</language>
<copyright>Copyright 2010</copyright>
<lastBuildDate>Thu, 11 Mar 2010 10:45:23 +0900</lastBuildDate>
<generator>http://www.sixapart.com/movabletype/?v=4.261</generator>
<docs>http://blogs.law.harvard.edu/tech/rss</docs> 


<item>
<title>Flex ImageSnapshot でキャプチャ注意点</title>
<description><![CDATA[<p>
<image src="http://level0.kayac.com/images/matsumura/matsumura.png" />海賊王をめざす男 マツです。こんにちは。
</p>

樹齢1000年の<a href="http://twitpic.com/17t3ln" target="_blank">鎌倉八幡宮 大銀杏</a>が倒れてしまいました。関東大震災も乗り越えた巨木もついに...。大海賊 白ヒゲの最後のように倒れてもなおその存在感はすごいです。


ImageSnapshot でキャプチャするときのうっかり。

<div style="text-align:center;width:465px;"><iframe title="flash on 2010-3-11 - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/d3c67a85c930f73947454f18f95e43ea81a4adfb" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/d3c67a85c930f73947454f18f95e43ea81a4adfb" title="flash on 2010-3-11 - wonderfl build flash online">flash on 2010-3-11 - wonderfl build flash online</a></div>

Snapshot という名前からして、対象オブジェクトのスケールを変更した後に ImageSnapshot でキャプチャしたものは見た目の大きさでで取れるかとおもったらそうではなく、ちゃんと Matrix で設定する必要があったのでした。]]>

</description>
<link>http://level0.kayac.com/2010/03/flex_imagesnapshot.php</link>
<guid>http://level0.kayac.com/2010/03/flex_imagesnapshot.php</guid>
<category></category>
<pubDate>Thu, 11 Mar 2010 10:45:23 +0900</pubDate>
</item>

<item>
<title>ワーキング・セットを使おう</title>
<description><![CDATA[<p>
<image src="http://level0.kayac.com/images/matsumura/matsumura.png" />海賊王をめざす男 マツです。こんにちは。
</p>

カヤックに入ってもうすぐ一年が経ちます。春ですね。


<image src="http://level0.kayac.com/images/matsumura/20100305/flex-20100305-01.jpg" />

同じく仕事で Flex を使うようになって一年。Flex プロジェクトも大量になってきます。
これら Flex プロジェクトをすっきりグループ分けするためにワーキング・セットを使いましょう。

[Flex ナビゲータ]_[メニュー]_[ワーキング・セットの選択]


<image src="http://level0.kayac.com/images/matsumura/20100305/flex-20100305-02.jpg" />

[新規]を選択。


<image src="http://level0.kayac.com/images/matsumura/20100305/flex-20100305-03.jpg" />

[リソース]を選択して、[次へ]ボタン。


<image src="http://level0.kayac.com/images/matsumura/20100305/flex-20100305-04.jpg" />

[ワーキング・セット名]を入力、対象となるプロジェクトを選択し、[終了]ボタン。


<image src="http://level0.kayac.com/images/matsumura/20100305/flex-20100305-05.jpg" />

[Flex ナビゲータ]_[メニュー]_[ワーキング・セットの選択]で、こんなにすっきり。


ちなみに私の主なワーキング・セットは、

■component
便利なコンポーネント開発用。
■demo
テストでためしてみたい即席群。20100305_Hoge のようにプロジェクト名は日付で。
■develop
現在開発中のプロジェクト。頻繁にバックアップを取る。
■project
開発完了した過去のプロジェクト
■sample
誰かがつくったサンプルプロジェクトとか。


こんな感じに快適なワーキングを！]]>

</description>
<link>http://level0.kayac.com/2010/03/post_87.php</link>
<guid>http://level0.kayac.com/2010/03/post_87.php</guid>
<category></category>
<pubDate>Fri, 05 Mar 2010 09:43:15 +0900</pubDate>
</item>

<item>
<title>XMLやFlashVarsのBoolean判定の罠</title>
<description><![CDATA[<p>そこそこ忙しいけど 数は出したい。そんなときはさっきハマったネタを垂れ流すのが一番。わすれないし、エントリーも増えるし。</p><p>てことで、小ネタ続きですが、XMLやFlashVarsで受け取った値でハマりがちなポイントの一つであるBooleanの判定についてのTipsになります。</p><h2>Booleanとは？</h2><p>Booleanをわからない人はこのエントリに興味を示さないと思いますが、前提として触れておきます。</p><p>Booleanは日本語で真偽値と表し、その名の通り true または false のどちらかの値をとります。<br />たとえばこんな感じ。</p><pre title="code" class="brush: as3;">
var isLogin :Boolean = false;
// --------
isLogin = true;</pre><h2><span class="Apple-style-span" style="font-weight: normal; font-size: 12px; ">使われるシーンとしては、ログインしているかどうか、サウンドがOnかOffか、などフラグとして使われます。</span></h2><p>また if 文や switch 文、for 文、while文のステートメントも、比較(==とか)の結果Booleanに置き換えられます。</p><pre title="code" class="brush: as3;">
var isLogin:Boolean = ( data.nickname != null );</pre><p>値は2極値なので、value = !value のようにして反転することもできます。</p><p>ただし、undefinedとはちがうので、キャストすれば Boolean( undefined ) はfalseになりますが、undefined == false は成り立ちません。</p><p>同じような問題で空の文字列( &quot;&quot; )をキャストすると、値自体はありますが長さが0なので false になります。</p><p><span class="Apple-style-span" style="font-size: 18px; font-weight: bold; ">XMLやFlashVarsの値は何か？</span></p><p>以上をふまえて、XMLやFlashVarsで何が問題になるのかというと、両方とも値の型が文字列(String)であることに起因したミスが発生します。</p><p>たとえばXML設定ファイルを読み込んでその中に&lt;isLogin&gt;false&lt;/isLogin&gt;という文字列があったとします。</p><p>Boolean( xml.isLogin.toString() ) としても &quot;false&quot; という文字列を評価するためBoolean的には true になります。また &quot;false&quot; じゃないことが &quot;true&quot; であることを保証するわけでもないので注意が必要です。</p><h2>文字列のBoolean値は &quot;true&quot; のみを真とする</h2><p>まとめると、これを確実に評価するには、&nbsp;xml.isLogin.toString() == &quot;true&quot; のように明示的に &rdquo;true&rdquo;という文字列以外はすべて false という評価をする必要があります。</p><p>FlashVarsとかローカルだと存在しないし値がfalseになる要因が増えるとバグのもとになりやすいし、デバッグの効率が著しく落ちます。</p><p>ということで小さなコトではあるんですが、他の人のソースとか見てると以外に &quot;true&quot;以外という考え方ができてないがゆえに、思わぬデータに弱い判定になってしまっているのを見受けられたので書いてみました。</p><p>&nbsp;</p><p>&nbsp;</p><p>&nbsp;</p>]]>

</description>
<link>http://level0.kayac.com/2010/03/xml_flashvars_boolean.php</link>
<guid>http://level0.kayac.com/2010/03/xml_flashvars_boolean.php</guid>
<category></category>
<pubDate>Wed, 03 Mar 2010 14:32:39 +0900</pubDate>
</item>

<item>
<title>Flasherの強い味方、ASDocで簡単ドキュメンテーション</title>
<description><![CDATA[<p>FITC皆さんご覧になられましたか？FITCビデオを通勤途中に見るのが密かな楽しみになっているMuraiです。<br /><br />さて今回はFlasherの資料作成の強い味方、Asdocを簡単に作るAIRの紹介です。</p><h2>Asdocって？</h2><p>ASDocはJavadocを模したActionScriptのドキュメントです。<br />主にはこのクラスのプロパティとメソッドは〜でというAdobeのリファレンスでおなじみ<a href="http://livedocs.adobe.com/flex/3_jp/langref/">この形</a>の物になります。<br />Flex sdkをいれるとasdocというコマンドラインツールがあるので、その子にソースフォルダを指定するとAdobeのリファレンスと同じものが自動出力されるという便利ツールです。<br />&nbsp;</p><h2>記述方法</h2><p>とても簡単。<br />書きたいメソッドやプロパティの上に下記の様に書き込みます。<br /><br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; /**<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; * ここに概要とかを書きます。<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; * @example ソース例のコメント<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; * &lt;listing version=&quot;3.0&quot;&gt;this.is.code.area(&quot;listingで囲まれた部分にこんな風にコードを書けます&quot;);&lt;/listing&gt;<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; * @param パラメータ<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; * @see com.kayac.level0.Murai<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; * @return String<br />&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp;&nbsp; */</p><h2>使ってみよう！</h2><p>Flashやってる人は基本的にcmd.exeやterminal.appをいじる人ばかりではないので神様が作ったGUIツールを使いましょう。</p><p>使うアプリはGrantSlinner先生のairアプリASDocrです。<br />英語ですがそれは我慢するとして、最短の設定をご紹介。<br /><br />まずはインストール。神様のサイトに行きます。<br />http://gskinner.com/blog/archives/2010/01/asdocr_simple_a.html<br />MacのdmgかWinのexeをダウンロード。インストールします。</p><p>立ち上げて設定。</p><h2>ASDocタブ</h2><p>&nbsp;</p><span style="display: inline;" class="mt-enclosure mt-enclosure-image"><a href="http://level0.kayac.com/images/murai/ASDocr%203.png"><img width="530" height="349" style="" class="mt-image-none" src="http://level0.kayac.com/assets_c/2010/03/ASDocr 3-thumb-530x349-794.png" alt="ASDocr 3.png" /></a></span><p><br />asdocのpathを設定。<br />Macだと<br />/Applications/Adobe Flash Builder Beta 2/sdks/4.0.0/bin/asdoc<br />とかです。</p><h2>Basicタブ</h2><p>&nbsp;</p><span style="display: inline;" class="mt-enclosure mt-enclosure-image"><a href="http://level0.kayac.com/images/murai/ASDocr%202.png"><img width="530" height="349" style="" class="mt-image-none" src="http://level0.kayac.com/assets_c/2010/03/ASDocr 2-thumb-530x349-796.png" alt="ASDocr 2.png" /></a></span><p><br />configuration Name:<br />設定した内容をテンプレにして保存しておけます。<br />その名前。上のコンボボックスで選択切り替え可能です。<br /><br />source-path:<br />出力したいソースフォルダのルートパスを指定<br /><br />output:<br />ASDocの書き出し先</p><h2>Outputタブ</h2><span style="display: inline;" class="mt-enclosure mt-enclosure-image"><a href="http://level0.kayac.com/images/murai/ASDocr%203.png"><img width="530" height="349" style="" class="mt-image-none" src="http://level0.kayac.com/assets_c/2010/03/ASDocr 3-thumb-530x349-794.png" alt="ASDocr 3.png" /></a></span><p><br />main-title:<br />ASDocのタイトル<br />API Wrapper Refference とか。<br /><br />footer:<br />フッターに入る内容<br />Takashi Murai - KAYAC inc とか。<br /><br />window-title:<br />API Wrapper Refference と僕はmain-titleと共通しています。<br /><br />templates-path:<br />flex sdkの中のtemplateのパスです。<br />&nbsp;</p><p>後は適宜好みで設定ですね。<br />このASdocがあると概要の整理や急な引き継ぎ、大きいプロジェクトならジョインした新たな仲間への共有も簡単です。<br /><br />チームでFlash開発する方や，更新案件を持てない方など、是非試してみたください！</p>]]>

</description>
<link>http://level0.kayac.com/2010/03/flasherasdoc.php</link>
<guid>http://level0.kayac.com/2010/03/flasherasdoc.php</guid>
<category>ActionScript</category>
<pubDate>Wed, 03 Mar 2010 14:12:55 +0900</pubDate>
</item>

<item>
<title>手軽にインスタンスの座標をコピペするJSFL</title>
<description><![CDATA[<p>ステージ上のインスタンスの座標をXとYとちまちまコピペしてることに気づいてサクっとJSFLにしてみました。</p><p>どうせ車輪の再発明なんだろうけど、それでも書いたほうが早いっていうことが多いですね。それにしてもJSFLってどうして何度かいても忘れるんでしょう。</p><p>さて、特に見どころもないですが、下記のような感じで座標のみをカンマ区切りでクリップボードにコピーできます。実行したら見た目何も起こりませんが、エディタに戻ってペーストしてみましょう。また区別がつきやすいようインスタンス名またはシンボル名がコメントで入ります。</p><p>なお複数選択したら改行されて同様にコピーされます。一応パフォーマンスを気にして最大100個までに絞ってますが任意でかえてください。</p><h2>ソースコード</h2> <pre title="code" class="brush: jscript;">
(function(){
var doc = fl.getDocumentDOM();
var list = doc.selection;

if(list.length==0) {
	return;
}
var maxLimit = 100;
var result = [];
var len = Math.min(list.length,maxLimit);
for( var i=0; i&lt;len; ++i) {
	var element = list[i];
	result.unshift( &quot;//&quot;+(element.name || element.libraryItem.name)+&quot;\n&quot; + [ element.x, element.y ].join(&quot;, &quot;) );
}

var str = result.join(&quot;\n&quot;);

fl.clipCopyString(str)	
})()</pre> <h2>結果&nbsp;</h2><pre title="code" class="brush: as3;">
// インスタンス名ORシンボル名
56, 48
</pre><h2>使いかた</h2><p>上記のコードをテキストエディタで｢座標をコピー.jsfl｣とかして保存してください。文字コードはたぶんUTF-8がいいと思います。</p><p>インストール先はWinだと下記のような感じにファイルおけばいいです。Macもそれっぽいところにファイル置いてください。それぞれ設置後再起動が必要です。</p><p>\Users\y{UserName}\AppData\Local\Adobe\Flash CS3\{Language}\Configuration\Commands</p><p>JSFLネタはもう少しあるんですがまたの機会に。</p>]]>

</description>
<link>http://level0.kayac.com/2010/03/copy_position_jsfl.php</link>
<guid>http://level0.kayac.com/2010/03/copy_position_jsfl.php</guid>
<category></category>
<pubDate>Tue, 02 Mar 2010 16:58:06 +0900</pubDate>
</item>

<item>
<title>オレオレMouseEventを発行してみるテスト</title>
<description><![CDATA[<p>FITC盛り上がってたみたいですね。英語をちゃんとやろうと試みて早2年がたちました。</p> <p>さて、Eventについて疑問があったので簡単にテストしてみました。</p> <h2>IEventDispatcher.dispatchEventメソッド</h2> <p>EventDispatcherを継承しているか、IEventDispacherを実装していれば、dispatchEventを実装していることになります。</p> <p>通常dispatchEventはTarget自身で発行し他者にEventを通知する流れになりますが、IEventDispatcher.dispatchEventはpubricメソッドであるため、メソッドのコールそのものは他のオブジェクトから操作することも可能です。</p> <p>Progression4のソースコードなど読んでいるとたまに出てきますが、あまり一般的ではありません。(たぶん。他言語ではあるのかな？)。</p> <p>またMouseEventのようにOSのイベントをキャッチして伝播されるようなものをdispatchEventするとどうなるのだろう、ってことでやってみました。</p> <div style="text-align:center;width:465px;"><iframe title="オレオレMouseEventを発行してみる - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/d0d8a6ccfc18721a4ead16bf8c55d17f71a73a78" width="465" height="490" style="border:1px black solid;"></iframe><a title="オレオレMouseEventを発行してみる - wonderfl build flash online" href="http://wonderfl.net/code/d0d8a6ccfc18721a4ead16bf8c55d17f71a73a78">オレオレMouseEventを発行してみる - wonderfl build flash online</a></div> <h2>MouseEvent</h2> <p>livedocによるとMouseEventのコンストラクタに渡せる値は次のような感じです。</p> <blockquote> <p><span class="Apple-style-span" style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; ">&nbsp;<a class="signatureLink" style="font-weight: bold; color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/events/MouseEvent.html#MouseEvent()">MouseEvent</a>(<br /> &nbsp;&nbsp; &nbsp;type:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/String.html">String</a>, bubbles:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= true, cancelable:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= false,<br /> &nbsp;&nbsp; &nbsp;localX:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Number.html">Number</a>&nbsp;= NaN, localY:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Number.html">Number</a>&nbsp;= NaN,<br /> &nbsp;&nbsp; &nbsp;relatedObject:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/display/InteractiveObject.html">InteractiveObject</a>= null,<br /> </span><span class="Apple-style-span" style="font-family: Tahoma, Verdana, Arial, Helvetica, sans-serif; font-size: 13px; ">&nbsp;&nbsp; &nbsp;ctrlKey:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= false, altKey:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= false, shiftKey:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= false,<br /> &nbsp;&nbsp; &nbsp;buttonDown:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= false,<br /> &nbsp;&nbsp; &nbsp;delta:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/int.html">int</a>&nbsp;= 0,<br /> &nbsp;&nbsp; &nbsp;commandKey:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= false, controlKey:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/Boolean.html">Boolean</a>&nbsp;= false,// AIR only<br /> &nbsp;&nbsp; &nbsp;clickCount:<a style="color: rgb(0, 0, 204); text-decoration: none; " href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/int.html">int</a>&nbsp;= 0// AIR only<br /> )</span></p> </blockquote> <h2>オレオレMouseEventのテスト</h2> <p>イベントタイプと、座標などを入れたらMouseEventのふりができました。MouseEventにはステージ座標を取得するプロパティがありますが、これは自動的に計算されるみたいです。</p> <p>試しにSpriteの座標をx=200としてみると、きちんと200ずれた位置に計算されるようです。表示されてない表示オブジェクトでも大丈夫な模様。</p> <div style="text-align:center;width:465px;"><iframe title="forked from: オレオレMouseEventを発行してみる - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/4d074f02a962b4bc4d24b619c68b237b88326b83" width="465" height="490" style="border:1px black solid;"></iframe><a title="forked from: オレオレMouseEventを発行してみる - wonderfl build flash online" href="http://wonderfl.net/code/4d074f02a962b4bc4d24b619c68b237b88326b83">forked from: オレオレMouseEventを発行してみる - wonderfl build flash online</a></div> <p>次に、DisplayObject以外のEventDispacherから、MouseEventを発行するとどうなるかやってみました。</p> <p>座標が計算されないので、stageXとstageYが常に0になります。コンストラクタに渡したlocal座標はそのままでした。</p> <div style="text-align:center;width:465px;"><iframe title="forked from: forked from: オレオレMouseEventを発行してみる - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/0b16f468dcc231d8a49913138d41ee6a8a612d46" width="465" height="490" style="border:1px black solid;"></iframe><a title="forked from: forked from: オレオレMouseEventを発行してみる - wonderfl build flash online" href="http://wonderfl.net/code/0b16f468dcc231d8a49913138d41ee6a8a612d46">forked from: forked from: オレオレMouseEventを発行してみる - wonderfl build flash online</a></div><p>これによって何ができるかというと特に用途が思いつかないのですが、オートメーション的なテストする時か何かでしょうか。</p>]]>

</description>
<link>http://level0.kayac.com/2010/02/my_mouseevent.php</link>
<guid>http://level0.kayac.com/2010/02/my_mouseevent.php</guid>
<category></category>
<pubDate>Thu, 25 Feb 2010 11:05:57 +0900</pubDate>
</item>

<item>
<title>Flash from iPhone</title>
<description><![CDATA[<p>&nbsp;世間では CS5 の iPhone for Flash に期待の声が集まっていますが、ちょっと視点を変えて iPhone <strong>から</strong> Flash を動かす実験に成功したので紹介です (iPhone <strong>で</strong> Flash <strong>では</strong><strong>ない</strong>ので<strong>要注意</strong><strong>！</strong>)。</p><div>&nbsp;</div><div>まずは簡単に実験方法を紹介。</div><div>&nbsp;</div><div>iPhone に wifi ネットワーク上で web サーバを立てる <a target="_blank" href="http://code.google.com/p/cocoahttpserver/">cocoahttpserver</a> というオープンソースがあります。Downloads に iPhone 用のライブラリがあるのでそれをダウンロード。そのままコンパイルするとデモが動作するので iPhone にインストールします。</div><div>&nbsp;</div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://level0.kayac.com/2010/02/24/iPhone_shot.jpg"><img alt="iPhone_shot.jpg" width="200" height="300" class="mt-image-none" style="" src="http://level0.kayac.com/assets_c/2010/02/iPhone_shot-thumb-200x300-786.jpg" /></a></span></div><div>&nbsp;</div><div>アプリが起動するとファイルストレージサーバが起動し、同じ wifi ネットワークに接続されている <strong>PC のブラウザ</strong>から見ることができます。</div><div>&nbsp;</div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://level0.kayac.com/2010/02/24/img1.png"><img alt="img1.png" width="300" height="147" class="mt-image-none" style="" src="http://level0.kayac.com/assets_c/2010/02/img1-thumb-300x147-788.png" /></a></span></div><div>&nbsp;</div><div>画像ファイルをアップロードし、アップロードしたファイルを開いてみると、おー！確かに画像が見えます。</div><div>&nbsp;</div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://level0.kayac.com/2010/02/24/img2.png"><img alt="img2.png" width="300" height="319" class="mt-image-none" style="" src="http://level0.kayac.com/assets_c/2010/02/img2-thumb-300x319-790.png" /></a></span></div><div>&nbsp;</div><div>そこで試しに swf ファイルをアップロードしてみましょう。おー！なんと iPhone 上にある swf を PC から見られるじゃないですか！(手元にあった<a href="http://www.blogdeco.jp/nikukyu/">肉球ブログパーツ</a>の swf をアップしました)</div><div>&nbsp;</div><div><span class="mt-enclosure mt-enclosure-image" style="display: inline;"><a href="http://level0.kayac.com/2010/02/24/img3.png"><img alt="img3.png" width="300" height="297" class="mt-image-none" style="" src="http://level0.kayac.com/assets_c/2010/02/img3-thumb-300x297-792.png" /></a></span></div><div>&nbsp;</div><div>これが iPhone から Flash を動かす実験の一部始終になります。iPhone と Flash をつなげるこんな抜け道があったとはとは。。</div><div>&nbsp;</div><div>&nbsp;</div><div><strong>ところで、これが何の役に立つか？？</strong></div><div>&nbsp;</div><div>&nbsp;</div><div>個人的にはアプリで生成 / 取得したファイルを PC に転送するときに使おうと考えています。PC からブラウザを介して iPhone 内のコンテンツを見る際に html でページを用意しても良いのですが、せっかく Flasher なら <del>html を書けないので</del>、リッチなコンテンツで見せたいところです。</div><div>&nbsp;</div><div>ちなみに表示用の swf などをバンドルしたアプリが apple store に申請できるか、、これについては試してみたいと思います。。(上手く行ったらまた報告します)</div><div>&nbsp;</div>]]>

</description>
<link>http://level0.kayac.com/2010/02/iphone_from_flash.php</link>
<guid>http://level0.kayac.com/2010/02/iphone_from_flash.php</guid>
<category>MEMO</category>
<pubDate>Wed, 24 Feb 2010 21:56:53 +0900</pubDate>
</item>

<item>
<title>テキストエリアにあわせてフォントサイズを変更する</title>
<description><![CDATA[<p>
<image src="http://level0.kayac.com/images/matsumura/matsumura.png" />海賊王をめざす男 マツです。こんにちは。
</p>

Flex でテキストエリアにあわせてフォントサイズを変更する一例です。

<div style="text-align:center;width:465px;"><iframe title="flash on 2010-2-19 - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/e09c7490857f673ed6aa67a93c34acccebe66db7" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/e09c7490857f673ed6aa67a93c34acccebe66db7" title="flash on 2010-2-19 - wonderfl build flash online">flash on 2010-2-19 - wonderfl build flash online</a></div>

Text コンポーネントの updateComplete イベントで、textHeight と height を比べて、textHeight の方が大きければ、fontSize を -1 落としてセットするものです。
微調整で、textHeight を +4 して判別しないと精度が保てない。おそらく Text の border 的な top, right, bottom, left が、それぞれ 1 px ずつあるのかな。要調査。]]>
&lt;br /&gt;&lt;a href="http://level0.kayac.com/2010/02/post_86.php"&gt;続きはこちら→&lt;/a&gt;
</description>
<link>http://level0.kayac.com/2010/02/post_86.php</link>
<guid>http://level0.kayac.com/2010/02/post_86.php</guid>
<category></category>
<pubDate>Fri, 19 Feb 2010 12:54:40 +0900</pubDate>
</item>

<item>
<title>Progression4でBetweenAS3を使おう</title>
<description><![CDATA[<p>最近は久々にAS2であれこれしてるうちにProg4のAS2版みたいのができちゃいました。Prog3ならCellfusionさんのがあるって途中で気づいてたんですが後に引けない感じで&hellip;。需要があればそのうちご紹介します。</p> <h2>DoBetweenAS3コマンド</h2> <p>さて、<a href="http://www.libspark.org/wiki/BetweenAS3/en">BetweenAS3</a>にoverwriteが実装されより実戦向きになってきたと聞いたのでそろそろTweenerから乗り換えてみようと思い、Progression4用にカスタムコマンドをつくりました。</p> <p>※2010/2/19時点でwonderflにはoverwrite版は反映されていません</p> <div style="text-align:center;width:465px;"><iframe title="DoBetweenAS3 draft - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/14aab12dfba0a6a25f97a33f8056c047f39cf953" width="465" height="490" style="border:1px black solid;"></iframe></div> <div style="text-align:center;width:465px;"><a title="DoBetweenAS3 draft - wonderfl build flash online" href="http://wonderfl.net/code/14aab12dfba0a6a25f97a33f8056c047f39cf953">DoBetweenAS3 draft - wonderfl build flash online</a></div> <h2>コンセプト</h2> <p>考え方としては、DoTweenerライクに使えるというか、インターフェイスを合わせることを重視してます。※(追記)transitionにIEasingインスタンスを指定する必要があります。一緒なのはパラメーター名だけ。</p> <p>これによりBetweenAS3の魅力であるトゥイーンの加工とかがやりにくいんですが、とりあえずDoTweenerの速い版として取り入れたい人には、これでいいんじゃないかと思います。</p> <p>BetweenAS3をフルで活用したいのであれば、<a href="http://trac.progression.jp/svn/experiments/nobu/progression4/jp/progression/commands/tweens/DoBetweenAS3.as">Sparkにすでにコミットされてるほう</a>がいいと思います。</p> <h2>問題点</h2> <p>そうしたときに、名前を変えるべきかなーとかいろいろ悩むんですが、同名で行くならどっちの書式も使えるとかするべきか、どうしたらいいでしょうか？何か妙案あれば教えてほしいです。</p> <p>というかDoBetweenAS3を名乗るのであれば、BetweenAS3に準じてる格好が正しいと思いますが、気持ち的な互換性を重視するのであればDoTweener2とでもしとけばいいんでしょうか。</p> <p>うーん。</p> <h2>メリット</h2> <p>とりあえず導入にあたる気持ち的なハードルが低いです。個人的にこれ重視です。汎用性や柔軟性はまるでありませんが割り切ることで得られるものもありますよねってことで。</p> <p>もうひとつが一応速いっていうことです。正直大量にオブジェクトを動かした時でないと、個別のTweenの速度的なパフォーマンスって見えづらいので、導入にコストがかかるならTweenerでいいじゃんっていうのが本音です。でもインターフェイス一緒なら一応速いほうがいいんじゃないっていうアイディアで取り入れられるのが、メリットといえばメリット。</p> <p>たぶんふつうに使っても若干メモリにやさしいはずです。</p> <p>何か改善点などあればぜひ<a href="http://wonderfl.net/code/14aab12dfba0a6a25f97a33f8056c047f39cf953">wonderflのサンプル</a>をForkしてください。みんなでDoBetweenASを育てていったらいいんじゃないかと。</p>]]>

</description>
<link>http://level0.kayac.com/2010/02/betweenas3_for_prog4.php</link>
<guid>http://level0.kayac.com/2010/02/betweenas3_for_prog4.php</guid>
<category></category>
<pubDate>Fri, 19 Feb 2010 11:14:10 +0900</pubDate>
</item>

<item>
<title>[Flex]キーボードショートカット、使ってますか？</title>
<description><![CDATA[<p>Flex Builderの豊富な機能やEclipseプラグインを最大限有効利用するためにショートカットは欠かせません。今回はFlex Builderのショートカット設定・編集方法と、設定例をちょっとだけご紹介したいと思います。</p>]]>
&lt;br /&gt;&lt;a href="http://level0.kayac.com/2010/02/flex_shortcutkey.php"&gt;続きはこちら→&lt;/a&gt;
</description>
<link>http://level0.kayac.com/2010/02/flex_shortcutkey.php</link>
<guid>http://level0.kayac.com/2010/02/flex_shortcutkey.php</guid>
<category>MEMO</category>
<pubDate>Fri, 19 Feb 2010 10:10:10 +0900</pubDate>
</item>

<item>
<title>MacでFlashやるならコレ! 魅惑の開発環境FDTでつくろう！</title>
<description><![CDATA[<p>メディア芸術祭行かれましたか？ 会場は狭くなっちゃったけど今年も面白い作品目白押しで大満足の<a href="http://level0.kayac.com/author/murai/">Murai</a>です。</p> <p>さて、みなさんFDTご存じですか？　僕も年末にセットアップした初心者ユーザーのひとりですが、色々と手に馴染んできた所で、ざっとまとめを書いてみたいと思います。<br />ちなみにタイトルはMacガン押しですが、<strong>もちろんWindowsでも使えます！</strong></p> <h2>FDTって？</h2> <p><a href="http://www.solutions.powerflasher.com/jp/">http://www.solutions.powerflasher.com/jp/</a><br /> FDTはPowerFlasherという会社が作っているActionScript用改造Eclipseです。<br /> AS3/AS2 MXMLを爆速でコーディングすることができます。<br /> <br /> <strong>QuickFix</strong>(自動変数定義、自動import、自動クラス生成、自動プロパティ定義、自動メソッド定義 etc)</p> <p><object height="404" width="504"> <param value="true" name="allowfullscreen" /> <param value="always" name="allowscriptaccess" /> <param value="http://vimeo.com/moogaloop.swf?clip_id=5408223&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" name="movie" /><embed height="404" width="504" allowscriptaccess="always" allowfullscreen="true" type="application/x-shockwave-flash" src="http://vimeo.com/moogaloop.swf?clip_id=5408223&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1"></embed></object> <br /> <br /> <strong>至れり尽くせりのコードフォーマットセッティング</strong><br /> <br /> <strong>賢いコード補完</strong>（文章中単語自動補完、定義済み変数補完、overrideメソッド、local変数、namespace etc)<br /> <br /> <strong>強力なテンプレート機能</strong>（もちろんカスタム・自作可能）</p> <object height="290" width="504"><param name="allowfullscreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="movie" value="http://vimeo.com/moogaloop.swf?clip_id=5645560&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" /><embed height="290" width="504" src="http://vimeo.com/moogaloop.swf?clip_id=5645560&amp;server=vimeo.com&amp;show_title=1&amp;show_byline=1&amp;show_portrait=1&amp;color=00ADEF&amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always"></embed></object> <p><strong>リアルタイム構文エラー検知</strong>（コンパイルしないでも打ちながらエラーを検出してくれます）<br /> <br /> と一通り便利な機能が揃っています。</p> <p><br /> 正直今すぐできる！超簡単！では無い環境です。<br /> インストールはボタンを押すだけの簡単仕様ですが、快適に使おうとすると細かいセッティングが項目が多くある複雑なソフトです。<br /> <br /> ただ、しっかりセッティングして使い込みさえすれば相当なスピードでFlashをつくることができます。しかも膨大なEclipse拡張の資産が使えて、Mac純正対応。言うこと無しです。<br /> <br /> Adobe純正のFlashBuilderも同じくEclipseベースなのですが、FDTの方がよりEclipseに近いイメージ。<br /> 私見ですが、FBは余計なセットアップを無くす事や&rdquo;すぐ使える&rdquo;という部分にコンセプトを置いている気がするので、ソフトウェアデザインの中で色々と機能が封印されているのかもしれません。<br /> スキルがある職業FlasherやフレームワークとしてFlexを使わない人(ActionScriptプロジェクトばっかりな人)ならFBよりもFDTの方がオススメかもしれません。<br /> 実際、エディターとしての性能や使用感ならFBよりもFDTの方が高性能な印象があります。<br /> fcshでのコンパイルがとても速いのも魅力の一つです。<br /> <br /> 最近の僕のオーサリングスタイルは、</p> <ol>     <li>Flashでパーツを作ってswc書き出し</li>     <li>FDTのプロジェクトに書き出したswcのパスを通す。</li>     <li>fcshでコンパイル</li> </ol> <p>という流れ。<br /> この方法だとMovieClipの中のインスタンス名もしっかり補完されるのでミスも減り、Flashとエディタをいったり来りもしないのでとても快適。<br /> この方法ならsdkを切り替えればCS3で作ったflaのパーツであってもplayer10パブリッシュも出来ます。<br /> <br /> Flashというソフトはレイヤー・タイムライン・各種描画ツール・描画モード・フィルタと、まるでグラフィックツールの用に直感的にGUIを作ることが出来る、他に類を見ない程のインターフェースビルダーなので使わないという手はありません。<br /> でも、Flashの純正エディターの方ははなんだか。。という人はこれを気にエディタを変えてみるのもいいかもしれません。FDTも良いですが、FlashBuilder,FlashDevelopも素晴らしいエディタです。<br /> <br /> おっと、盛大に話がそれましたね。<br /> うんちくは置いておいて、簡単にFDTのセットアップ手順をご紹介。</p> <h2>1.インストール</h2> <p><a href="http://www.solutions.powerflasher.com/jp/">http://www.solutions.powerflasher.com/jp/</a><br /> 日本語ページがあります。とりあえずお試ししてみましょう。<br /> <br /> <a href="http://www.solutions.powerflasher.com/jp/fdt/download/fdt-35-beta/">http://www.solutions.powerflasher.com/jp/fdt/download/fdt-35-beta/</a><br /> 最新版をdownload。SnowLeopardの人は3.5じゃないとこまった事になります。<br /> <br /> standAloneならそれぞれのOSのバージョンを。Eclipseに入れたい人は<br /> <a href="http://fdt.powerflasher.com/update_beta/">http://fdt.powerflasher.com/update_beta/</a> をRemoteSiteに入れてInstallしましょう。</p> <h2>2.セットアップ・カスタマイズ</h2> <p><a href="http://www.fdt.jp/">http://www.fdt.jp/</a><br /> に行きましょう。上から順番に読んで行くと良いと思います。<br /> <br /> で、主催の cellfusion氏のブログ、FDTタグを全部読みましょう。<br /> Tipsからかゆいところに手が届く設定方法が色々載っています。<br /> <a href="http://www.cellfusion.jp/mt/mt-search.cgi?blog_id=1&amp;tag=FDT&amp;limit=20&amp;IncludeBlogs=">http://www.cellfusion.jp/mt/mt-search.cgi?blog_id=1&amp;tag=FDT&amp;limit=20&amp;IncludeBlogs=</a></p> <h2>3.とりあえずHelloWorld</h2> <p>僕もこのBlogを見てHelloWorldしました。ありがとうございます。<br /> <a href="http://log.taquo.com/ja/archives/tag/fdt">http://log.taquo.com/ja/archives/tag/fdt</a></p> <h2>4.改造・テンプレート</h2> <p>Eclipseプラグイン一覧<br /> <a href="http://www10.atwiki.jp/eclipse/">http://www10.atwiki.jp/eclipse/</a><br /> <br /> ついこの間templateページができました。<br /> <a href="http://www.fdt.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88">http://www.fdt.jp/%E3%83%86%E3%83%B3%E3%83%97%E3%83%AC%E3%83%BC%E3%83%88</a><br /> <br /> このテンプレートが曲者で、しっかり書くと恐ろしい速さで打てるようになります。<br /> 僕が作ったテンプレートもアップしてあるので是非 試してみてください。<br /> <br /> Progression4 CastXXX &amp; SceneObject template 一式 forked from @fumix<br /> <a href="http://drp.ly/gIi6d">http://drp.ly/gIi6d</a><br /> <br /> Tweener initObject template<br /> <a href="http://drp.ly/nYqcD">http://drp.ly/nYqcD</a></p> <p><br /> 色々書きましたが、とても奥深い開発環境です。<br /> fcshやらadtやらeclipse.iniの編集やらsdkの切り替えやらantやら、思ったよりも色々とあります。<br /> で、それらを全部超えると、progression4の3階層分ぐらいのシーンが10分ぐらいで書けたり、今まで2時間ハマっていたデバッグが1分で終わったり、コードが綺麗になったり、ソースを読むスピードが速くなったり、、、と成功体験が待っています。<br /> <br /> 一体僕はなんの営業なんだろうってぐらい書き綴ってしまいましたが、是非試してみてください。<br /> &nbsp;</p>]]>

</description>
<link>http://level0.kayac.com/2010/02/macflash_fdt.php</link>
<guid>http://level0.kayac.com/2010/02/macflash_fdt.php</guid>
<category>ActionScript</category>
<pubDate>Mon, 15 Feb 2010 14:30:26 +0900</pubDate>
</item>

<item>
<title>Flex プロジェクト html-template を使おう</title>
<description><![CDATA[<p>
<image src="http://level0.kayac.com/images/matsumura/matsumura.png" />海賊王をめざす男 マツです。こんにちは。
</p>

Flex プロジェクト を作成すると html-template ディレクトリもいっしょに作成されます。
これは、開発中のビルド先である bin-debug ディレクトリやリリースビルド先である bin-release にビルドされる html 一式のテンプレートです。
bin-debug や bin-release の html を修正してもビルドの度に html-template の内容で上書きされます。

例として、タブキーによるフォーカス移動の際にブラウザのアドレスバーへ移動をさせないように html-template/index.template.html を変更してみます。
Flash Player のプロパティ SeamlessTabbing を false に設定することで Flex アプリ内のみでフォーカス移動を限定させることができます。


<h4>html-template/index.template.html</h4>

<pre title="code" class="brush: xhtml;">
	AC_FL_RunContent(
			"src", "${swf}",
			"width", "${width}",
			"height", "${height}",
			"align", "middle",
			"id", "${application}",
			"quality", "high",
			"bgcolor", "${bgcolor}",
			"name", "${application}",
			"allowScriptAccess","sameDomain",
			"type", "application/x-shockwave-flash",
			"pluginspage", "http://www.adobe.com/go/getflashplayer",
			"SeamlessTabbing", "false"
	);
</pre>

<pre title="code" class="brush: xhtml;">
&#9;&#9;&#9;&lt;embed src="${swf}.swf" quality="high" bgcolor="${bgcolor}"
&#9;&#9;&#9;&#9;width="${width}" height="${height}" name="${application}" align="middle"
&#9;&#9;&#9;&#9;play="true"
&#9;&#9;&#9;&#9;loop="false"
&#9;&#9;&#9;&#9;quality="high"
&#9;&#9;&#9;&#9;allowScriptAccess="sameDomain"
&#9;&#9;&#9;&#9;type="application/x-shockwave-flash"
&#9;&#9;&#9;&#9;pluginspage="http://www.adobe.com/go/getflashplayer"
&#9;&#9;&#9;&#9;SeamlessTabbing="false"&gt;
&#9;&#9;&#9;&lt;/embed&gt;
</pre>

Flex 標準の html テンプレートから swfobject を使用したテンプレートに変えるなど、html-template を変更することで利用することができます。]]>

</description>
<link>http://level0.kayac.com/2010/02/flex_html-template.php</link>
<guid>http://level0.kayac.com/2010/02/flex_html-template.php</guid>
<category></category>
<pubDate>Fri, 12 Feb 2010 09:41:16 +0900</pubDate>
</item>

<item>
<title>本城直季風のムービーをFlashで利用したい！</title>
<description><![CDATA[<p>どうもtaichiです。</p><p><a href="http://www.youtube.com/watch?v=LkrtYRxGyuo">http://www.youtube.com/watch?v=LkrtYRxGyuo</a></p><p>いつ見ても美しいッス。</p><p>ユニクロカレンダーで綺麗な使われ方してましたね。</p><p><a href="http://www.uniqlo.com/calendar/">http://www.uniqlo.com/calendar/</a></p><p>盛り上がったのは昨年ですが、いまでも根強い人気がある撮影技法。</p><p>&nbsp;</p>]]>
&lt;br /&gt;&lt;a href="http://level0.kayac.com/2010/02/wo.php"&gt;続きはこちら→&lt;/a&gt;
</description>
<link>http://level0.kayac.com/2010/02/wo.php</link>
<guid>http://level0.kayac.com/2010/02/wo.php</guid>
<category></category>
<pubDate>Mon, 08 Feb 2010 10:25:00 +0900</pubDate>
</item>

<item>
<title>ガイドレイヤーに記述したフレームスクリプトの落とし穴</title>
<description><![CDATA[<p>もう2月なのにやっと新年一本目のnakamuraです。あけましておめでとうございます。</p><p>さて、落とし穴というか、浅い穴に自分からはまったような感じではありますが<br /><strong>ガイドレイヤーに書いたスクリプトは実行される</strong>んですね&hellip;。今更ですが見落としてました。</p><p>表示させたくないけど残しておきたいMC等をバックアップとしてガイドレイヤーに退避しておく、といった事はおなじみかと思いますが、スクリプトに関してもなんとなく同じような感覚でいたら、危うく痛い目を見るところでした。恐ろしい。</p><p>ということでフレームスクリプトでも横着せずにコメントアウトするべし、という話でした。</p>]]>

</description>
<link>http://level0.kayac.com/2010/02/post_85.php</link>
<guid>http://level0.kayac.com/2010/02/post_85.php</guid>
<category></category>
<pubDate>Sat, 06 Feb 2010 08:21:35 +0900</pubDate>
</item>

<item>
<title>[Flex]カスタムコンポーネントのカスタムイベントをMXML内でリスナー登録する方法</title>
<description><![CDATA[<p>こんにちは。</p><p>コンポーネントが発行するイベントをリスナーに登録する場合、addEventListenerを使う他にMXMLでは</p><p>&lt;mx:Canvas creationComplete = &quot;creationCompleteHandler(event)&quot;/&gt;</p><p>このようにも記述することもできます。</p><p>これをカスタムコンポーネントでもできるようにしてみます。</p>]]>
&lt;br /&gt;&lt;a href="http://level0.kayac.com/2010/02/comp_customevent.php"&gt;続きはこちら→&lt;/a&gt;
</description>
<link>http://level0.kayac.com/2010/02/comp_customevent.php</link>
<guid>http://level0.kayac.com/2010/02/comp_customevent.php</guid>
<category>Tips</category>
<pubDate>Fri, 05 Feb 2010 11:22:33 +0900</pubDate>
</item>


</channel>
</rss>
