<?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>2BLOG</title>
	<atom:link href="http://blog.nipx.jp/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.nipx.jp</link>
	<description></description>
	<lastBuildDate>Wed, 10 Mar 2010 11:40:12 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CastPreloaderのイベント処理</title>
		<link>http://blog.nipx.jp/2010/03/castpreloader%e3%81%ae%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e5%87%a6%e7%90%86/</link>
		<comments>http://blog.nipx.jp/2010/03/castpreloader%e3%81%ae%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e5%87%a6%e7%90%86/#comments</comments>
		<pubDate>Wed, 10 Mar 2010 11:39:16 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3210</guid>
		<description><![CDATA[Progression 4.0.1 Public Bate 1.3 を使っていて気づいたこと。CastPreloaderではProgressionインスタンスが生成されていないので、CastPreloader内でCast [...]]]></description>
			<content:encoded><![CDATA[<p>Progression 4.0.1 Public Bate 1.3 を使っていて気づいたこと。CastPreloaderではProgressionインスタンスが生成されていないので、CastPreloader内でCastSpriteなど、Progressionの表示オブジェクトをAddChildコマンドで加えても、CastSpriteのatCastAddedなどイベント処理の実行がされないようだ。</p>
<p>たとえば以下のように、CastPreloaderのatCastLoadStart処理中にCastSpriteを加え,そのcastAddedイベント中にTraceコマンドで出力を試みても「 sample onCastAdded 」のtraceは出力されない。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">override protected <span style="color: #000000; font-weight: bold;">function</span> atCastLoadStart<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> sample:CastSprite	= <span style="color: #000000; font-weight: bold;">new</span> CastSprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	sample.<span style="color: #006600;">onCastAdded</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
		addCommand<span style="color: #66cc66;">&#40;</span>
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;sample onCastAdded&quot;</span> <span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	addCommand<span style="color: #66cc66;">&#40;</span>
		<span style="color: #000000; font-weight: bold;">new</span> AddChild<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">foreground</span>, sample <span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>castAddedイベントが正しく処理されるようにするには、PreloaderでもProgressionのインスタンスを生成しておくと期待通りになる。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">override protected <span style="color: #000000; font-weight: bold;">function</span> atCastLoadStart<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	Progression.<span style="color: #006600;">initialize</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> WebConfig<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> manager:Progression	= <span style="color: #000000; font-weight: bold;">new</span> Progression<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;preloader&quot;</span>, <span style="color: #0066CC;">this</span>.<span style="color: #0066CC;">stage</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> sample:CastSprite	= <span style="color: #000000; font-weight: bold;">new</span> CastSprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	sample.<span style="color: #006600;">onCastAdded</span> = <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
		addCommand<span style="color: #66cc66;">&#40;</span>
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;sample onCastAdded&quot;</span> <span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	addCommand<span style="color: #66cc66;">&#40;</span>
		<span style="color: #000000; font-weight: bold;">new</span> AddChild<span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">foreground</span>, sample <span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>ここでは、atCastLoadStart内でProgressionクラスの初期化とインスタンスを作っているけど、コンストラクタで作った方が自然かな。</p>
<p>ちなみに、PreloaderにProgressionクラスを加えると10K以上ファイルサイズが増えます。不要ならProgressionインスタンスをPreloaderで使う必要はないでしょう。<br />
Preloaderの性質を考えるとそのファイルサイズは小さいほどよいと思いますので、CastPreloaderがデフォルトでProgressionインスタンスを生成しないのは僕は望ましいと思います。おそらくそのあたりがこの仕様の理由なんじゃないかと思ってみたり、みなかったり。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/03/castpreloader%e3%81%ae%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e5%87%a6%e7%90%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Basic認証を越える方法</title>
		<link>http://blog.nipx.jp/2010/02/basic%e8%aa%8d%e8%a8%bc%e3%82%92%e8%b6%8a%e3%81%88%e3%82%8b%e6%96%b9%e6%b3%95/</link>
		<comments>http://blog.nipx.jp/2010/02/basic%e8%aa%8d%e8%a8%bc%e3%82%92%e8%b6%8a%e3%81%88%e3%82%8b%e6%96%b9%e6%b3%95/#comments</comments>
		<pubDate>Sat, 27 Feb 2010 08:12:17 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3167</guid>
		<description><![CDATA[前回エントリーの際に、Basic認証越えを試した時のメモ。
Basic認証を越える方法は、FLASH-JP.COM &#8211; フォーラム にスレッドが有名だと思います。
検索するとこれをAS3に置き換えた方法が沢山 [...]]]></description>
			<content:encoded><![CDATA[<p>前回エントリーの際に、Basic認証越えを試した時のメモ。</p>
<p>Basic認証を越える方法は、<a href="http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=605&#038;forum=7&#038;post_id=6065">FLASH-JP.COM &#8211; フォーラム</a> にスレッドが有名だと思います。</p>
<p>検索するとこれをAS3に置き換えた方法が沢山あったのですが、試してみて気づいたところがあります。それは送信メソッドがPOSTじゃないと認証されなかったことです。</p>
<p>例えば、以下だとリクエストヘッダで認証できませんでした。Base64エンコーダーはFlex SDKにインストールされているものを使っています。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> encoder:Base64Encoder	= <span style="color: #000000; font-weight: bold;">new</span> Base64Encoder<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
encoder.<span style="color: #006600;">encodeUTFBytes</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;ユーザー名&quot;</span> : <span style="color: #ff0000;">&quot;パスワード&quot;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> header:URLRequestHeader	= <span style="color: #000000; font-weight: bold;">new</span> URLRequestHeader<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Authorization&quot;</span>, <span style="color: #ff0000;">&quot;Basic &quot;</span> + encoder.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> req:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;リクエストURL&quot;</span> <span style="color: #66cc66;">&#41;</span>;
req.<span style="color: #006600;">requestHeaders</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span> header <span style="color: #66cc66;">&#41;</span>;
&nbsp;
navigateToURL<span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>こう書き直したら認証されるようになりました。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> encoder:Base64Encoder	= <span style="color: #000000; font-weight: bold;">new</span> Base64Encoder<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
encoder.<span style="color: #006600;">encodeUTFBytes</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;ユーザー名&quot;</span> : <span style="color: #ff0000;">&quot;パスワード&quot;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> header:URLRequestHeader	= <span style="color: #000000; font-weight: bold;">new</span> URLRequestHeader<span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">&quot;Authorization&quot;</span>, <span style="color: #ff0000;">&quot;Basic &quot;</span> + encoder.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> req:URLRequest = <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;リクエストURL&quot;</span> <span style="color: #66cc66;">&#41;</span>;
req.<span style="color: #006600;">requestHeaders</span>.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span> header <span style="color: #66cc66;">&#41;</span>;
req.<span style="color: #006600;">method</span>= URLRequestMethod.<span style="color: #006600;">POST</span>;
req.<span style="color: #0066CC;">data</span>	= <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span>;
navigateToURL<span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>変わっていることは、送信メソッドにPOSTを指定したことと、dataに空オブジェクトを加えたこと。リファレンスによれば、methodを指定してもdataが無いと自動的にGETで処理されるとあり、でダミーの値を入れておく必要があるようだ。ちなみにdataにオブジェクトを入れて、methodをPOSTにした場合も認証されませんでした。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/basic%e8%aa%8d%e8%a8%bc%e3%82%92%e8%b6%8a%e3%81%88%e3%82%8b%e6%96%b9%e6%b3%95/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FileReference</title>
		<link>http://blog.nipx.jp/2010/02/filereference/</link>
		<comments>http://blog.nipx.jp/2010/02/filereference/#comments</comments>
		<pubDate>Thu, 25 Feb 2010 04:49:50 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3169</guid>
		<description><![CDATA[jpgやpng、mp3などをダウンロードさせたい時、navigateToURLで直接URLを指定するとブラウザのウインドウに表示さる。ブラウザのウインドウに表示せずダウンロードさせるにはFileReferenceが有効だ [...]]]></description>
			<content:encoded><![CDATA[<p>jpgやpng、mp3などをダウンロードさせたい時、navigateToURLで直接URLを指定するとブラウザのウインドウに表示さる。ブラウザのウインドウに表示せずダウンロードさせるにはFileReferenceが有効だ。</p>
<p>参考：<a href="http://help.adobe.com/ja_JP/AS3LCR/Flash_10.0/flash/net/FileReference.html">FileReference &#8211; ActionScript 3.0 言語およびコンポーネントリファレンス</a></p>
<p>例：<a title="画像ファイルをダウンロードする" rel="shadowbox;width=200;height=200;options={flashParams:'#ffffff'}" href='http://blog.nipx.jp/wp-content/uploads/2010/02/file.swf'>画像ファイルをダウンロードする</a></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _onMouseDown<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> req:URLRequest	= <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;http://blog.nipx.jp/wp-content/uploads/2009/09/ceocle.jpg&quot;</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> file:FileReference	= <span style="color: #000000; font-weight: bold;">new</span> FileReference<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	file.<span style="color: #006600;">download</span><span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>先日、これを使ってつまづいたところをメモしておく。よく読めばリファレンスに記載があったのだが&#8230;。<br />
<br/><br />
<strong>・認証がある場合、ブラウザからでないとダウンロードできない。</strong><br />
認証がある場合、Flashでパブリッシュした後の画面やスタンドアローンプレイヤーではダウンロードが失敗する。ブラウザで表示している場合、認証の入力画面が表示され認証可能。<br />
仕事の場合、開発用のサーバーには大抵Basic認証がかかっていますがいちいちブラウザで確認するのは手間なので、パブリッシュの画面からダウンロードできないか試してみたのだけどダメっぽい。Basic認証を抜けるにはリクエストヘッダを送る方法が知られているけど、FileReferenceでは追加したリクエストヘッダ自体が無視されるようだ。<br />
<br/><br />
<em><br />
リファレンス download()メソッドより引用</p>
<p>サーバーでユーザー認証が必要な場合、ブラウザ内で実行される、つまり、ブラウザプラグインまたは ActiveX コントロールを使用する SWF ファイルでのみ、認証用のユーザー名とパスワードをユーザーが入力できるダイアログボックスを表示できます。〜</p>
<p>〜 URLRequest オブジェクトの requestHeaders プロパティは無視されるため、カスタム HTTP リクエストヘッダはアップロードまたはダウンロードでサポートされません。<br />
</em><br />
<br/><br />
FileReferenceを使う場合、ダウンロード状況を表示する演出なんか入れることありそうなんで、開発上ちょっと面倒だなぁと思う。ところでこのFileReference、Player 10以上ではFlashで生成したデータを保存させることが出来る。AirならFileで出来ると知っていたがFlash PlayerでもFileReferenceで保存できるようになっていたんですね。saveのdata引数にはByteArrayが渡せるのでどんなファイル形式でも保存出来るようだ。</p>
<p>例：<a title="テキストファイルに保存する" rel="shadowbox;width=200;height=200;options={flashParams:'#ffffff'}" href='http://blog.nipx.jp/wp-content/uploads/2010/02/file_save.swf'>テキストファイルに保存する</a></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _onMouseDown<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> file:FileReference	= <span style="color: #000000; font-weight: bold;">new</span> FileReference<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	file.<span style="color: #006600;">save</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;FileReferenceでテキストデータを保存。&quot;</span>, <span style="color: #ff0000;">&quot;sample.txt&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/filereference/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>executeのextra引数</title>
		<link>http://blog.nipx.jp/2010/02/execute%e3%81%aeextra%e5%bc%95%e6%95%b0/</link>
		<comments>http://blog.nipx.jp/2010/02/execute%e3%81%aeextra%e5%bc%95%e6%95%b0/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 07:19:48 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3156</guid>
		<description><![CDATA[Progressionでコマンドを実行するexecuteメソッドには、extraという引数があります。
シーン遷移でコマンドを実行する場合、extraを使うケースはほとんどないと思いますので、あまり馴染みのない引数ですが [...]]]></description>
			<content:encoded><![CDATA[<p>Progressionでコマンドを実行するexecuteメソッドには、extraという引数があります。<br />
シーン遷移でコマンドを実行する場合、extraを使うケースはほとんどないと思いますので、あまり馴染みのない引数ですが、コマンドを単体で利用する場合、extraを使うと便利なこともあります。</p>
<p>コマンドリストを実行する際extraを渡すと、コマンドリストに登録された全てのコマンドは実行時に渡されたextraをリレーします。つまり、登録されたコマンドはすべて実行時にextraを利用できます。</p>
<p>たとえば、一連のアニメーションを登録したコマンドリストを実行し、最後の挙動だけ異なるようにしたい場合など、extraを渡して挙動を変更することが可能です。</p>
<p><br/></p>
<p>例：同じコマンドリストを実行し、最後のコマンドでextraで渡した異なる色値に変更する。</p>
<p><a title="executeのextra引数" rel="shadowbox;width=400;height=500;options={flashParams:'#ffffff'}"  href='http://blog.nipx.jp/wp-content/uploads/2010/02/index.swf'>executeのextra引数</a></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">btn0.<span style="color: #006600;">label</span>	= <span style="color: #ff0000;">&quot;RED&quot;</span>;
btn1.<span style="color: #006600;">label</span>	= <span style="color: #ff0000;">&quot;GREEN&quot;</span>;
btn2.<span style="color: #006600;">label</span>	= <span style="color: #ff0000;">&quot;BLUE&quot;</span>;
&nbsp;
&nbsp;
_comm	= <span style="color: #000000; font-weight: bold;">new</span> SerialList<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">null</span>, 
	<span style="color: #000000; font-weight: bold;">new</span> Prop<span style="color: #66cc66;">&#40;</span> ball, <span style="color: #66cc66;">&#123;</span> x:<span style="color: #cc66cc;">450</span>, y:<span style="color: #cc66cc;">130</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>,
	<span style="color: #000000; font-weight: bold;">new</span> Prop<span style="color: #66cc66;">&#40;</span> ball.<span style="color: #006600;">transform</span>, <span style="color: #66cc66;">&#123;</span> colorTransform:<span style="color: #000000; font-weight: bold;">new</span> ColorTransform<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>,
	<span style="color: #66cc66;">&#91;</span>
		<span style="color: #000000; font-weight: bold;">new</span> DoTweener<span style="color: #66cc66;">&#40;</span> ball, <span style="color: #66cc66;">&#123;</span> x:<span style="color: #cc66cc;">200</span>, transition:<span style="color: #ff0000;">&quot;easeOutSine&quot;</span>, <span style="color: #0066CC;">time</span>:<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>,
		<span style="color: #000000; font-weight: bold;">new</span> DoTweener<span style="color: #66cc66;">&#40;</span> ball, <span style="color: #66cc66;">&#123;</span> y:<span style="color: #cc66cc;">350</span>, transition:<span style="color: #ff0000;">&quot;easeOutBounce&quot;</span>, <span style="color: #0066CC;">time</span>:<span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#93;</span>,
	<span style="color: #000000; font-weight: bold;">new</span> Func<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #000000; font-weight: bold;">var</span> trans:ColorTransform = <span style="color: #000000; font-weight: bold;">new</span> ColorTransform<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
		trans.<span style="color: #0066CC;">color</span>	= <span style="color: #0066CC;">this</span>.<span style="color: #006600;">extra</span>;
		ball.<span style="color: #006600;">transform</span>.<span style="color: #006600;">colorTransform</span> = trans;
	<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;
_comm.<span style="color: #006600;">interruptType</span> = CommandInterruptType.<span style="color: #006600;">RESTORE</span>;
&nbsp;
&nbsp;
&nbsp;
btn0.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _comm.<span style="color: #006600;">state</span> == ExecutorObjectState.<span style="color: #006600;">EXECUTING</span> <span style="color: #66cc66;">&#41;</span> _comm.<span style="color: #006600;">interrupt</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span>;
	_comm.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span> 0xFF0000 <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
btn1.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _comm.<span style="color: #006600;">state</span> == ExecutorObjectState.<span style="color: #006600;">EXECUTING</span> <span style="color: #66cc66;">&#41;</span> _comm.<span style="color: #006600;">interrupt</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span>;
	_comm.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span> 0x00FF00 <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
btn2.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> _comm.<span style="color: #006600;">state</span> == ExecutorObjectState.<span style="color: #006600;">EXECUTING</span> <span style="color: #66cc66;">&#41;</span> _comm.<span style="color: #006600;">interrupt</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span>;
	_comm.<span style="color: #006600;">execute</span><span style="color: #66cc66;">&#40;</span> 0x0000FF <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/execute%e3%81%aeextra%e5%bc%95%e6%95%b0/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitterの投稿欄に入力するリクエスト</title>
		<link>http://blog.nipx.jp/2010/02/twitter%e3%81%ae%e6%8a%95%e7%a8%bf%e6%ac%84%e3%81%ab%e5%85%a5%e5%8a%9b%e3%81%99%e3%82%8b%e3%83%aa%e3%82%af%e3%82%a8%e3%82%b9%e3%83%88/</link>
		<comments>http://blog.nipx.jp/2010/02/twitter%e3%81%ae%e6%8a%95%e7%a8%bf%e6%ac%84%e3%81%ab%e5%85%a5%e5%8a%9b%e3%81%99%e3%82%8b%e3%83%aa%e3%82%af%e3%82%a8%e3%82%b9%e3%83%88/#comments</comments>
		<pubDate>Thu, 18 Feb 2010 09:23:41 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3141</guid>
		<description><![CDATA[Twitterを全然利用しないので（特にFlasherには前から流行っているのは知ってるけどニガテなんす。この手のもの）知らなかったのだが、TwitterにstatusパラメータをつけたURLでリクエストすると自分の投稿 [...]]]></description>
			<content:encoded><![CDATA[<p>Twitterを全然利用しないので（特にFlasherには前から流行っているのは知ってるけどニガテなんす。この手のもの）知らなかったのだが、TwitterにstatusパラメータをつけたURLでリクエストすると自分の投稿欄にstatusの値が入力されるってことを最近知りました。</p>
<p>こんな感じ。</p>
<p><a href="http://twitter.com/home/?status=aiueo">http://twitter.com/home/?status=aiueo</a></p>
<p>Twitterのアカウントを持っていてログインしているなら、投稿欄に「aiueo」と入力されるはず。</p>
<p>何も考えずにFlashからこれを使ったら、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> req:URLRequest		= <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;http://twitter.com/home/?status=aiueo&quot;</span> <span style="color: #66cc66;">&#41;</span>;
navigateToURL<span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>これで同様に投稿欄に入力されているので、ヨシッと思ったのですが、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//2バイト文字を含む</span>
<span style="color: #000000; font-weight: bold;">var</span> req:URLRequest		= <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;http://twitter.com/home/?status=あいうえお&quot;</span> <span style="color: #66cc66;">&#41;</span>;
navigateToURL<span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>とか、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//メタ文字を含む</span>
<span style="color: #000000; font-weight: bold;">var</span> req:URLRequest		= <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;http://twitter.com/home/?status=http://nipx.jp/#/nipx&quot;</span> <span style="color: #66cc66;">&#41;</span>;
navigateToURL<span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>だとうまくいきません。</p>
<p>これはURLエンコードされないのが原因。端折らずちゃんとURLVariablesで値を渡せば解消されます。（問題の文字列をエンコードするって手もありますが。）</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> req:URLRequest	= <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;http://twitter.com/home/&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> vers:URLVariables	= <span style="color: #000000; font-weight: bold;">new</span> URLVariables<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
vers.<span style="color: #0066CC;">status</span>	= <span style="color: #ff0000;">&quot;あいうえお/#/かきくけこ&quot;</span>;
req.<span style="color: #0066CC;">data</span>	= vers;
navigateToURL<span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>さらにTwitterに送る文字コードはUTF-8である必要があります。<br />
なので、FlashでSystem.useCodePage = true;を使っている場合、送信前にフラグをおろす必要があります。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//文字コードはUTF-8で送る必要あり</span>
<span style="color: #0066CC;">System</span>.<span style="color: #0066CC;">useCodePage</span> = <span style="color: #000000; font-weight: bold;">true</span>;	<span style="color: #808080; font-style: italic;">//useCodePage = trueにしている場合</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> req:URLRequest		= <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;http://twitter.com/home/&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> vers:URLVariables	= <span style="color: #000000; font-weight: bold;">new</span> URLVariables<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
vers.<span style="color: #0066CC;">status</span>	= <span style="color: #ff0000;">&quot;あいうえお/#/かきくけこ&quot;</span>;
req.<span style="color: #0066CC;">data</span>	= vers;
<span style="color: #0066CC;">System</span>.<span style="color: #0066CC;">useCodePage</span> = <span style="color: #000000; font-weight: bold;">false</span>;
navigateToURL<span style="color: #66cc66;">&#40;</span> req <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">System</span>.<span style="color: #0066CC;">useCodePage</span> = <span style="color: #000000; font-weight: bold;">true</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/twitter%e3%81%ae%e6%8a%95%e7%a8%bf%e6%ac%84%e3%81%ab%e5%85%a5%e5%8a%9b%e3%81%99%e3%82%8b%e3%83%aa%e3%82%af%e3%82%a8%e3%82%b9%e3%83%88/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nipx Flash Wallpaper for Mobile Phone</title>
		<link>http://blog.nipx.jp/2010/02/nipx-flash-wallpaper-for-mobile-phone/</link>
		<comments>http://blog.nipx.jp/2010/02/nipx-flash-wallpaper-for-mobile-phone/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 09:46:29 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Works]]></category>
		<category><![CDATA[nipx]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3113</guid>
		<description><![CDATA[
これまでに掲載していた待ち受けFlashをまとめて、待ち受けFlashサイトを作りました。ブログを提供の場にするのは限界に感じていましたので。ダウンロードはDL-MARKETを試験的に使っています。待ち受けを探す方とこ [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://wallpaper.nipx.jp"><img src="http://blog.nipx.jp/wp-content/uploads/2010/02/nipxFWMP.gif" alt="" title="" width="500" height="555" class="aligncenter size-full wp-image-3114" /></a></p>
<p>これまでに掲載していた待ち受けFlashをまとめて、<a href="http://wallpaper.nipx.jp">待ち受けFlashサイト</a>を作りました。ブログを提供の場にするのは限界に感じていましたので。ダウンロードはDL-MARKETを試験的に使っています。待ち受けを探す方とこのブログの主な内容は一致しませんので、この方がより多くの方にみてもらえるかと。</p>
<p>待ち受けFlashは、プライベートワークとして今後も時間がある時に作っていきますのでご期待ください。といってもしばらく忙しそうですが&#8230;。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/nipx-flash-wallpaper-for-mobile-phone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nipx 待ち受けFlash / MechanicalCube</title>
		<link>http://blog.nipx.jp/2010/02/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-mechanicalcube/</link>
		<comments>http://blog.nipx.jp/2010/02/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-mechanicalcube/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 05:20:28 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3083</guid>
		<description><![CDATA[







待ち受けFlash
MechanicalCube


クルッ、ピタ。
» Preview






自分による、自分の作品。いや、いままでのも自分の作品なんだが。
かわいい系の待ち受けばかりできてたので [...]]]></description>
			<content:encoded><![CDATA[<table border="0" cellspacing="10" cellpadding="0" width="100%">
<tbody>
<tr align="left" valign="top">
<td><img src="http://nipx.jp/download/wallpaper/MechanicalCube.jpg" alt="" width="153" height="426" /></td>
<td width="100%">
<dl style="font-size:12px;line-height:18px;margin-top:10px;margin-bottom:20px">
<dt style="font-size:14px">
<strong><br />
<span style="font-size:10px">待ち受けFlash</span><br />
MechanicalCube</strong>
</dt>
<dd>
クルッ、ピタ。</p>
<p><a href="http://wallpaper.nipx.jp/archives/187">» Preview</a>
</dd>
</dl>
</td>
</tr>
</tbody>
</table>
<p>自分による、自分の作品。いや、いままでのも自分の作品なんだが。<br />
かわいい系の待ち受けばかりできてたので、シンプルなものを考えた。リアルなアナログ時計なら、カチッ、カチッと動く秒針が好き。その感じをデジタルの文字盤で出したいなぁと思った。</p>
<p>当初、都度、立方体を描画してみたのだけど、Device Centralでシュミレートすると全然厳しい感じだったので、AirとNative3Dを用いて全コマ画像ファイルに書き出したものを使い、ストップモーションで表現しています。時間にあわせて正しく回転させるのは意外に難しいと感じた。アニメーションに使う秒数があるので、今回の場合はフレームレート8以上が出る機種でないと回転しきる前に次の秒が来ちゃいます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-mechanicalcube/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flash Liteのミリ秒が怪しい</title>
		<link>http://blog.nipx.jp/2010/02/flash-lite%e3%81%ae%e3%83%9f%e3%83%aa%e7%a7%92%e3%81%8c%e6%80%aa%e3%81%97%e3%81%84/</link>
		<comments>http://blog.nipx.jp/2010/02/flash-lite%e3%81%ae%e3%83%9f%e3%83%aa%e7%a7%92%e3%81%8c%e6%80%aa%e3%81%97%e3%81%84/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 08:44:23 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash Lite]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3095</guid>
		<description><![CDATA[Flash Lite の Date オブジェクトで、ミリ秒の取得・設定でおかしな部分があったので記録。
Flash Liteでミリ秒は正しく動かないのかもしれない。
具体的には試したことですが、以下のソースを実行するとロ [...]]]></description>
			<content:encoded><![CDATA[<p>Flash Lite の Date オブジェクトで、ミリ秒の取得・設定でおかしな部分があったので記録。<br />
Flash Liteでミリ秒は正しく動かないのかもしれない。</p>
<p>具体的には試したことですが、以下のソースを実行するとローカルタイムがミリ秒で出力されますよね。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> _date:<span style="color: #0066CC;">Date</span> = <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> _date.<span style="color: #0066CC;">getTime</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>これはFlash Playerで期待通り動きました。</p>
<p>しかし、Flash Lite にして、Device Centralで確認すると出力にはミリ秒が切り捨て（？四捨五入？）られた値で表示されます。</p>
<p>//出力<br />
1265814066000<br />
1265814067000<br />
1265814067000<br />
1265814067000<br />
1265814067000<br />
1265814067000<br />
1265814067000<br />
1265814067000</p>
<p>まず、これが実機でももれなくそうなのか、エミュレートによるものなのか、よくわからない。<br />
Device Centralでは、「デバイスステータス」のパネルで、任意の時間を試せるのですが、この「時間」にミリ秒を入力できないので、</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/02/devicecentral0.gif" alt="" title="" width="268" height="187" class="aligncenter size-full wp-image-3098" /></p>
<p>このパネルに依存するものなのかもしれないし。</p>
<p>次に手もとの機種（WS007SH Flash Lite 2.1）で以下を試してみました。<br />
_rootにプロット用のテキストフィールドを作ってミリ秒部分を繰り返し出力してみる。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">debug.<span style="color: #0066CC;">text</span> += <span style="color: #ff0000;">&quot; / &quot;</span> + _date.<span style="color: #0066CC;">getMilliseconds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>これを確認するとミリ秒は丸められることなく、0〜999の値が表示されました。つまりミリ秒は取得できると思ったわけです。この時点では。</p>
<p>で、最終的に僕が何をしたかったかというと、時計をつくるにあたり、数字が表示されるアニメーションを0.5秒で作った為、Dateで取得した時間を500ミリ秒進めて、実時間と数字がキメ状態になる際のラグを減らそうとしました。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> _date:<span style="color: #0066CC;">Date</span>	= <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Date</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
_date		= <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Date</span><span style="color: #66cc66;">&#40;</span> _date.<span style="color: #0066CC;">getTime</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #cc66cc;">500</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>そうしたら何故か正しく動かない。</p>
<p>500ミリ秒の加算がいけないのかと、試しに加算をやめて、秒とミリ秒を以下のソースでプロットし確認したところ、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">debug.<span style="color: #0066CC;">text</span> += <span style="color: #ff0000;">&quot; / &quot;</span> + _date.<span style="color: #0066CC;">getSeconds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">&quot;:&quot;</span> + _date.<span style="color: #0066CC;">getMilliseconds</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/02/Date.gif" alt="" title="" width="500" height="250" class="aligncenter size-full wp-image-3096" /></p>
<p>わかるだろうか。左の数字と見比べると、なぜか同じ秒でミリ秒が戻っている。44:992→44:64。</p>
<p>500ミリ秒加算した時は、さらに状況が悪くて、</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/02/Date500.gif" alt="" title="" width="500" height="250" class="aligncenter size-full wp-image-3097" /></p>
<p>ミリ秒どころか、秒が戻っている。（しかも複数フレームで。）</p>
<p>もう一台別の機種（WS011SH Flash Lite2.1）で試しても同様の状況だった。僕の環境だけの問題なのかもしれないのですが、Flash Liteでミリ秒は正しく得られるのか不透明な状況です。ひとまず、ミリ秒を使うことは諦めることにしました。この件、何かご存知の方は是非コメントいただきたくお願いします。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/flash-lite%e3%81%ae%e3%83%9f%e3%83%aa%e7%a7%92%e3%81%8c%e6%80%aa%e3%81%97%e3%81%84/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PreloadSWF</title>
		<link>http://blog.nipx.jp/2010/02/preloadswf/</link>
		<comments>http://blog.nipx.jp/2010/02/preloadswf/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 10:16:02 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3055</guid>
		<description><![CDATA[Progression 4.0.1 Public Beta 1.3 ですが過去のバージョンに比べると、とても完成度が上がっていますね。Beta版ということで避けていた方もそろそろ手をだしていい時期と思いました。
先日とあ [...]]]></description>
			<content:encoded><![CDATA[<p>Progression 4.0.1 Public Beta 1.3 ですが過去のバージョンに比べると、とても完成度が上がっていますね。Beta版ということで避けていた方もそろそろ手をだしていい時期と思いました。<br />
先日とある案件で使ってみて、便利なところにいろいろ気づきましたので、いくつか記事にしようと思います。</p>
<p>今回はあらたに追加されたPreloadSWFコマンドについて。<br />
このPreloadSWFを使うと任意のタイミングでプリロードを開始できます。<br />
これがどう便利かというと、CastPreloaderクラスを使って子SWFを読み込む場合おおよそ以下の流れとなります。</p>
<p>1.読み込む直前。この時、atCastLoadStart にて非同期処理が可能。<br />
2.読み込み。この時、atProgress でロード毎に処理が可能。（プログレスバーを進めるなど）<br />
3.読み込み完了。この時、atCastLoadComplete にて非同期処理が可能。</p>
<p>通常、これでまったく問題ないのですが、プリローダーで子SWF以外にも外部ファイル（画像だったり、サウンドだったり、他のSWFだったり）を読み込み、プログレスバーを進行させたいこともあると思います。</p>
<p>この場合、Progressionのコマンドで行うなら、プログレスバーの進行度合いを管理しつつ、atCastLoadStart か、atCastLoadComplete 内で読み込む形になります。こうなるとプログレスバーの管理が若干面倒ですよね。PreloadSWFコマンド（とLoaderList）を使えば、これをとてもスマートに行えます。</p>
<p>例：atCastLoadStart で外部ファイルの読み込みとCastPreloaderの読み込みを実行。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">override protected <span style="color: #000000; font-weight: bold;">function</span> atCastLoadStart<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	addCommand<span style="color: #66cc66;">&#40;</span>
		<span style="color: #000000; font-weight: bold;">new</span> LoaderList<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span>
				onProgress:<span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
					<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">this</span>.<span style="color: #006600;">percent</span> + <span style="color: #ff0000;">&quot;%&quot;</span> <span style="color: #66cc66;">&#41;</span>;
				<span style="color: #66cc66;">&#125;</span>
			<span style="color: #66cc66;">&#125;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> LoadBitmapData<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;image1.jpg&quot;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;image1 完了&quot;</span> <span style="color: #66cc66;">&#41;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> PreloadSWF<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span><span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Preloader 完了&quot;</span> <span style="color: #66cc66;">&#41;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> LoadBitmapData<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;image2.jpg&quot;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;image2 完了&quot;</span> <span style="color: #66cc66;">&#41;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">LoadSound</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;sound1.mp3&quot;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>,
			<span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">Trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;sound1 完了&quot;</span> <span style="color: #66cc66;">&#41;</span>
		<span style="color: #66cc66;">&#41;</span>,
		<span style="color: #000000; font-weight: bold;">new</span> Wait<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">3</span> <span style="color: #66cc66;">&#41;</span>
	<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>この場合、image1.jpg の読み込み後、CastPreloaderの読み込みが実行され、その後、image2.jpg、sound1.mp3 を読み込み、3秒後に atCastLoadStart が完了します。特に atCastLoadComplete を設定しなければ、この後、読み込んだCastDocumentの処理に移行します。<br />
少し注意したいのは、atCastLoadCompleteは、PreloadSWFの完了ではなく、atCastLoadStart の完了後実行されることでしょうか。</p>
<p>この方法をとれば、プログレスバーは、LoaderListの onProgrss で進行させるだけですむようになります。<br />
読み込むファイルの容量の差が大きく、プログレスバーの進行がスムーズでない時は、各読み込みコマンドのfactorプロパティを設定して相対的な重要度を設定します。</p>
<p>たとえば、<br />
image1.jpg が 10Kbyte<br />
index.swf が 10Kbyte<br />
image2.jpg が 10Kbyte<br />
sound1.mp3 が 30 Kbyte</p>
<p>なら、sound1.mp3を読み込むコマンドのfactorを3にすると、プログレスバーの進行の差が少なくなると思います。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/preloadswf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nipx 待ち受けFlash / Shirokuma</title>
		<link>http://blog.nipx.jp/2010/02/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-shirokuma/</link>
		<comments>http://blog.nipx.jp/2010/02/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-shirokuma/#comments</comments>
		<pubDate>Wed, 10 Feb 2010 08:44:53 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3056</guid>
		<description><![CDATA[







待ち受けFlash
Shirokuma


とれない&#8230;とれない&#8230;とれない&#8230;
あっ！とれた！
» Preview






]]></description>
			<content:encoded><![CDATA[<table border="0" cellspacing="10" cellpadding="0" width="100%">
<tbody>
<tr align="left" valign="top">
<td><img src="http://nipx.jp/download/wallpaper/Shirokuma.jpg" alt="" width="153" height="426" /></td>
<td width="100%">
<dl style="font-size:12px;line-height:18px;margin-top:10px;margin-bottom:20px">
<dt style="font-size:14px">
<strong><br />
<span style="font-size:10px">待ち受けFlash</span><br />
Shirokuma</strong>
</dt>
<dd>
とれない&#8230;とれない&#8230;とれない&#8230;<br />
あっ！とれた！</p>
<p><a href="http://wallpaper.nipx.jp/archives/180">» Preview</a>
</dd>
</dl>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/02/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-shirokuma/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web creators 2010年 03月号に寄稿しました</title>
		<link>http://blog.nipx.jp/2010/01/web-creators-2009%e5%b9%b4-03%e6%9c%88%e5%8f%b7%e3%81%ab%e5%af%84%e7%a8%bf%e3%81%97%e3%81%be%e3%81%97%e3%81%9f/</link>
		<comments>http://blog.nipx.jp/2010/01/web-creators-2009%e5%b9%b4-03%e6%9c%88%e5%8f%b7%e3%81%ab%e5%af%84%e7%a8%bf%e3%81%97%e3%81%be%e3%81%97%e3%81%9f/#comments</comments>
		<pubDate>Fri, 29 Jan 2010 04:41:59 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3041</guid>
		<description><![CDATA[
本日発売のWeb creators 2010年 3月号の巻末特集で、TIPS記事を3つ書かせていただきました。執筆はやりたかった仕事の一つでしたので、その機会をいただきとてもありがたい思いです。いざ書いてみると文章を完 [...]]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter" src="http://images-jp.amazon.com/images/P/B0034C7S56.09._SX200_SCLZZZZZZZ_.jpg" alt="" width="200" height="267" /></p>
<p>本日発売のWeb creators 2010年 3月号の巻末特集で、TIPS記事を3つ書かせていただきました。執筆はやりたかった仕事の一つでしたので、その機会をいただきとてもありがたい思いです。いざ書いてみると文章を完結にまとめる難しさを痛感いたしました。このブログは自分的メモな側面もありますが乱雑になりがちなので、これを糧に簡潔な文章にする努力をしていきたい。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/web-creators-2009%e5%b9%b4-03%e6%9c%88%e5%8f%b7%e3%81%ab%e5%af%84%e7%a8%bf%e3%81%97%e3%81%be%e3%81%97%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nipx 待ち受けFlash / MoriGirl</title>
		<link>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-morigirl/</link>
		<comments>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-morigirl/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 05:18:18 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2998</guid>
		<description><![CDATA[







待ち受けFlash
MoriGirl


盛って盛って盛りすぎて、
どちらが盛られているかわからなくなる。
頭が重くてバランスとれない。
» Preview





「森ガール」。そんな言葉、知らなかっ [...]]]></description>
			<content:encoded><![CDATA[<table border="0" cellspacing="10" cellpadding="0" width="100%">
<tbody>
<tr align="left" valign="top">
<td><img src="http://nipx.jp/download/wallpaper/MoriGirl.jpg" alt="" width="153" height="426" /></td>
<td width="100%">
<dl style="font-size:12px;line-height:18px;margin-top:10px;margin-bottom:20px">
<dt style="font-size:14px">
<strong><br />
<span style="font-size:10px">待ち受けFlash</span><br />
MoriGirl</strong>
</dt>
<dd>
盛って盛って盛りすぎて、<br />
どちらが盛られているかわからなくなる。<br />
頭が重くてバランスとれない。</p>
<p><a href="http://wallpaper.nipx.jp/archives/176">» Preview</a>
</dd>
</dl>
</tr>
</tbody>
</table>
<p>「森ガール」。そんな言葉、知らなかった俺。<br />
盛るって言葉は昨年の流行語。「盛りガール」だと思った俺がいる。<br />
流行語は決まって略される。「森にいそうな女の子（ファッション）」ってことらしい。<br />
イメージだからって？ちょっと待てと。<br />
森にいるのはクマやシカだ。女の子がいたとしたら、それは野生児じゃないか。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-morigirl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>窓の杜で紹介いただきました</title>
		<link>http://blog.nipx.jp/2010/01/%e7%aa%93%e3%81%ae%e6%9d%9c%e3%81%a7%e7%b4%b9%e4%bb%8b%e3%81%84%e3%81%9f%e3%81%a0%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/</link>
		<comments>http://blog.nipx.jp/2010/01/%e7%aa%93%e3%81%ae%e6%9d%9c%e3%81%a7%e7%b4%b9%e4%bb%8b%e3%81%84%e3%81%9f%e3%81%a0%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 09:50:20 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[nipx]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2982</guid>
		<description><![CDATA[窓の杜のREVIEWで、FlowerWallPaperを取り上げていただきました。
ありがとうございました。

窓の杜といえば、Vectorと双璧をなすオンラインソフトの老舗サイト。そこに取り上げていただいたということは [...]]]></description>
			<content:encoded><![CDATA[<p>窓の杜のREVIEWで、<a href="http://nipx.jp/download/FlowerWallPaper/">FlowerWallPaper</a>を取り上げていただきました。<br />
ありがとうございました。</p>
<p><a href="http://www.forest.impress.co.jp/docs/review/20100122_344144.html"><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/madonomori1.jpg" alt="" title="" width="300" height="223" class="aligncenter size-full wp-image-2993" /></a></p>
<p>窓の杜といえば、Vectorと双璧をなすオンラインソフトの老舗サイト。そこに取り上げていただいたということは、Airアプリケーションも大分、市民権を得てきたなぁと思います。</p>
<p>Air 2.0では、OSとの親和性がさらに高まっているようだし、次期FlashはiPhoneばかりでなくスマートフォン全体をターゲットにしたアプリケーションの開発も出来るようになるはず。Flashを扱うものとして活躍の場が広がることはとても喜ばしい。</p>
<p>それとともに、iPhoneアプリの成功を見てもわかるように、制作者が制作者たる価値を得られる場や仕組みが絶対必要だと思う。新技術が請負仕事ばかりのフィールドになってはいけないように思います。これからのAirの進化が制作者にとってよい方向へ向かってくれるよう願いたい。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/%e7%aa%93%e3%81%ae%e6%9d%9c%e3%81%a7%e7%b4%b9%e4%bb%8b%e3%81%84%e3%81%9f%e3%81%a0%e3%81%8d%e3%81%be%e3%81%97%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>トーンジャンプ</title>
		<link>http://blog.nipx.jp/2010/01/%e3%83%88%e3%83%bc%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%b3%e3%83%97/</link>
		<comments>http://blog.nipx.jp/2010/01/%e3%83%88%e3%83%bc%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%b3%e3%83%97/#comments</comments>
		<pubDate>Fri, 22 Jan 2010 00:23:42 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash Lite]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2958</guid>
		<description><![CDATA[待ち受けFlashを作って気づいたことだが、Device Centralで確認した際、淡いグラデーションの部分にトーンジャンプが見られた。
電話機種のプロファイルで色深度24ビットとなっている機種（つまりフルカラー対応の [...]]]></description>
			<content:encoded><![CDATA[<p>待ち受けFlashを作って気づいたことだが、Device Centralで確認した際、淡いグラデーションの部分にトーンジャンプが見られた。<br />
電話機種のプロファイルで色深度24ビットとなっている機種（つまりフルカラー対応のはず）をいくつか試してみたけど、どれも同じように発生しています。同じファイルを通常のFlash Playerでプレビューするとトーンジャンプは発生していないので、Device Cnntral固有の問題なのかもしれないし、実機でもトーンジャンプするのかもしれない。（トーンジャンプまで再現してるならDevice Centralあっぱれな訳だが。）</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/tonejump0.jpg" alt="" title="" width="500" height="426" class="aligncenter size-full wp-image-2959" /></p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/tonejump1.jpg" alt="" title="" width="500" height="400" class="aligncenter size-full wp-image-2962" /></p>
<p>このままにしておけないし、そもそもしっかりグラデーションを表示出来る電話機ばかりとは到底思えないっていうのもある。<br />
そこで最終的に使った懐かしの方法を紹介します。最近の環境ではあまり気にしないけれども、GIFファイルを作る際、色数を絞ってディザをノイズで加え擬似的に段調を持たせたことはないでしょうか。あの考えを踏襲してトーンジャンプを軽減させます。</p>
<p>Photoshopでグラデーションの上に新規レイヤーをつくり塗りつぶす。<br />
[フィルター]から[ノイズ]→[ノイズを加える]を実行。<br />
今回は新規レイヤーを白で塗りつぶして、カラーノイズ10%、均等に分布にしました。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/01/tonejump2.jpg" alt="" title="" width="271" height="351" class="aligncenter size-full wp-image-2970" /><br />
このレイヤーを不透明度75%、焼き込み（リニア）でグラデーションと合成する。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/01/tonejump3.jpg" alt="" title="" width="271" height="351" class="aligncenter size-full wp-image-2971" /></p>
<p>若干乱暴な感じですが、今回はこれで大分良くなった。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/01/tonejump4.jpg" alt="" title="" width="500" height="400" class="aligncenter size-full wp-image-2973" /></p>
<p>何にしても、元画像ファイルのグラデーションがPhotoshopやFlashでの作業中トーンジャンプして見えないところがややこしい。<br />
合成方法は千差万別。レイヤーでなくカラーチャンネルにノイズを合成するのもあるだろうし。ケースによって試すべし。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/%e3%83%88%e3%83%bc%e3%83%b3%e3%82%b8%e3%83%a3%e3%83%b3%e3%83%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nipx 待ち受けFlash / Heart</title>
		<link>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-hear/</link>
		<comments>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-hear/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 08:49:40 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2932</guid>
		<description><![CDATA[







待ち受けFlash
Heart


キモチは今日も揺れ動く。
» Preview






]]></description>
			<content:encoded><![CDATA[<table border="0" cellspacing="10" cellpadding="0" width="100%">
<tbody>
<tr align="left" valign="top">
<td><img src="http://nipx.jp/download/wallpaper/Heart.jpg" alt="" width="153" height="426" /></td>
<td width="100%">
<dl style="font-size:12px;line-height:18px;margin-top:10px;margin-bottom:20px">
<dt style="font-size:14px">
<strong><br />
<span style="font-size:10px">待ち受けFlash</span><br />
Heart</strong>
</dt>
<dd>
キモチは今日も揺れ動く。</p>
<p><a href="http://wallpaper.nipx.jp/archives/173">» Preview</a>
</dd>
</dl>
</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-hear/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>イベントフローの確認</title>
		<link>http://blog.nipx.jp/2010/01/%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%83%95%e3%83%ad%e3%83%bc%e3%81%ae%e7%a2%ba%e8%aa%8d/</link>
		<comments>http://blog.nipx.jp/2010/01/%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%83%95%e3%83%ad%e3%83%bc%e3%81%ae%e7%a2%ba%e8%aa%8d/#comments</comments>
		<pubDate>Fri, 15 Jan 2010 10:15:48 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2916</guid>
		<description><![CDATA[普段気にすることはありませんが、addEventListenerのuseCaptureについて。
AS3ではイベントが3段階で処理されている。原則的にイベントはステージから、イベントが発生したオブジェクトに向かい、オブジ [...]]]></description>
			<content:encoded><![CDATA[<p>普段気にすることはありませんが、addEventListenerのuseCaptureについて。<br />
AS3ではイベントが3段階で処理されている。原則的にイベントはステージから、イベントが発生したオブジェクトに向かい、オブジェクトに辿り着いたら今度はステージに戻ってくる。<br />
入れ子になった表示オブジェクトは、この経路にしたがってイベントをリレーしているわけだ。<br />
普段意識せず、useCapture = false のままに設定しているなら、イベントが発生したオブジェクトの段階か、ステージに戻ってくる段階の通知をキャッチしている。</p>
<p>このことを示した図がリファレンスに書かれている。<br />
<a href="http://livedocs.adobe.com/flash/9.0_jp/main/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&#038;file=00000137.html#wp777600"> イベントフロー </a></p>
<p>この図はとてもよく説明されているのだけど、実際に動いているもので確認したくて試しました。<br />
Eventオブジェクトには、イベントのリレーを止める、stopPropagationとstopImmediatePropagationってメソッドもあるので、この二つの挙動についても試している。</p>
<p>イベントフローを意識することがあるのは、入れ子になった表示オブジェクトの場合が想定されるので、大きい方から順番にA、B、Cと円を定義して、入れ子にする。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> A:Sprite	= <span style="color: #000000; font-weight: bold;">new</span> Sprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
A.<span style="color: #0066CC;">name</span> = <span style="color: #ff0000;">&quot;A&quot;</span>;
<span style="color: #000000; font-weight: bold;">var</span> B:Sprite	= <span style="color: #000000; font-weight: bold;">new</span> Sprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #0066CC;">name</span> = <span style="color: #ff0000;">&quot;B&quot;</span>;
<span style="color: #000000; font-weight: bold;">var</span> C:Sprite	= <span style="color: #000000; font-weight: bold;">new</span> Sprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
C.<span style="color: #0066CC;">name</span> = <span style="color: #ff0000;">&quot;C&quot;</span>;
&nbsp;
A.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">lineStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">5</span>, 0x000000 <span style="color: #66cc66;">&#41;</span>;
A.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span> 0x000000, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
A.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">100</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
B.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">lineStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">2.5</span>, 0x404040 <span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span> 0x404040, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">75</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
C.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">lineStyle</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">1</span>, 0x808080 <span style="color: #66cc66;">&#41;</span>;
C.<span style="color: #006600;">graphics</span>.<span style="color: #0066CC;">beginFill</span><span style="color: #66cc66;">&#40;</span> 0x808080, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
C.<span style="color: #006600;">graphics</span>.<span style="color: #006600;">drawCircle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">50</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//BはAの子、CはBの子</span>
A.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> B <span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> C <span style="color: #66cc66;">&#41;</span>;
addChild<span style="color: #66cc66;">&#40;</span> A <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>全ての円にキャプチャ段階とターゲット・バブリング段階それぞれにリスナーを定義します。<br />
stopPropagation、stopImmediatePropagationを試すべく、優先順位をつけてリスナーを二つ登録しました。<br />
優先順位の高い方のリスナーは、ラジオボタンに応じてstopPropagation、stopImmediatePropagationが実行されるようにします。<br />
リスナーはテキストエリアに処理された内容を表示します。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//優先度の高いリスナー</span>
A.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownCaptureing1, <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownCaptureing1, <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span>;
C.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownCaptureing1, <span style="color: #000000; font-weight: bold;">true</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
A.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownTarget1, <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownTarget1, <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
C.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownTarget1, <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//優先度の低いリスナー</span>
A.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownCaptureing2, <span style="color: #000000; font-weight: bold;">true</span>, -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownCaptureing2, <span style="color: #000000; font-weight: bold;">true</span>, -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>;
C.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownCaptureing2, <span style="color: #000000; font-weight: bold;">true</span>, -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
A.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownTarget2, <span style="color: #000000; font-weight: bold;">false</span>, -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>;
B.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownTarget2, <span style="color: #000000; font-weight: bold;">false</span>, -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>;
C.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> MouseEvent.<span style="color: #006600;">MOUSE_DOWN</span>, _onMouseDownTarget2, <span style="color: #000000; font-weight: bold;">false</span>, -<span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _onMouseDownCaptureing1<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> group1.<span style="color: #006600;">selectedData</span> == <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #0066CC;">e</span>.<span style="color: #006600;">stopPropagation</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> group1.<span style="color: #006600;">selectedData</span> == <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #0066CC;">e</span>.<span style="color: #006600;">stopImmediatePropagation</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> str:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;#1 &quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;がキャプチャ段階のリスナーで、&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;をターゲットに&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">type</span> + <span style="color: #ff0000;">&quot;イベントを&quot;</span> + _returnPhase<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span><span style="color: #66cc66;">&#41;</span> + <span style="color: #ff0000;">&quot;で処理。&quot;</span>;
	_field.<span style="color: #006600;">appendText</span><span style="color: #66cc66;">&#40;</span> str + <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _onMouseDownTarget1<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> group2.<span style="color: #006600;">selectedData</span> == <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #0066CC;">e</span>.<span style="color: #006600;">stopPropagation</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">else</span> <span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> group2.<span style="color: #006600;">selectedData</span> == <span style="color: #cc66cc;">2</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #0066CC;">e</span>.<span style="color: #006600;">stopImmediatePropagation</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> str:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;#1 &quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;がターゲット・バブリング段階のリスナーで、&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;をターゲットに&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">type</span> + <span style="color: #ff0000;">&quot;イベントを&quot;</span> + _returnPhase<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span><span style="color: #66cc66;">&#41;</span>  + <span style="color: #ff0000;">&quot;で処理。&quot;</span>;
	_field.<span style="color: #006600;">appendText</span><span style="color: #66cc66;">&#40;</span> str + <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _onMouseDownCaptureing2<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> str:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;#2 &quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;がキャプチャ段階のリスナーで、&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;をターゲットに&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">type</span> + <span style="color: #ff0000;">&quot;イベントを&quot;</span> + _returnPhase<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span><span style="color: #66cc66;">&#41;</span>  + <span style="color: #ff0000;">&quot;で処理。&quot;</span>;
	_field.<span style="color: #006600;">appendText</span><span style="color: #66cc66;">&#40;</span> str + <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _onMouseDownTarget2<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> str:<span style="color: #0066CC;">String</span> = <span style="color: #ff0000;">&quot;#2 &quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #006600;">currentTarget</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;がターゲット・バブリング段階のリスナーで、&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">target</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">&quot;name&quot;</span><span style="color: #66cc66;">&#93;</span> + <span style="color: #ff0000;">&quot;をターゲットに&quot;</span> + <span style="color: #0066CC;">e</span>.<span style="color: #0066CC;">type</span> + <span style="color: #ff0000;">&quot;イベントを&quot;</span> + _returnPhase<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span><span style="color: #66cc66;">&#41;</span>  + <span style="color: #ff0000;">&quot;で処理。&quot;</span>;
	_field.<span style="color: #006600;">appendText</span><span style="color: #66cc66;">&#40;</span> str + <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">function</span> _returnPhase<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:MouseEvent<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> <span style="color: #66cc66;">&#40;</span> EventPhase.<span style="color: #006600;">AT_TARGET</span> == <span style="color: #0066CC;">e</span>.<span style="color: #006600;">eventPhase</span> <span style="color: #66cc66;">&#41;</span> ? <span style="color: #ff0000;">&quot;ターゲット段階&quot;</span> : <span style="color: #66cc66;">&#40;</span> EventPhase.<span style="color: #006600;">BUBBLING_PHASE</span> == <span style="color: #0066CC;">e</span>.<span style="color: #006600;">eventPhase</span> <span style="color: #66cc66;">&#41;</span> ? <span style="color: #ff0000;">&quot;バブリング段階&quot;</span> : <span style="color: #ff0000;">&quot;キャプチャ段階&quot;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>こちらで試せます。場合によっては意図に反して2回処理されていたみたいな間違いはありそうだね。<br />
こんなものを意識して何か作ることが無いことを祈るばかり。</p>
<p><a href="http://blog.nipx.jp/wp-content/uploads/2010/01/index.swf" title="イベントフローの確認" rel="shadowbox;width=500;height=500;options={flashParams:'#FFFFFF'}"><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/eventflow.gif" alt="" title="" width="500" height="500" class="aligncenter" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/%e3%82%a4%e3%83%99%e3%83%b3%e3%83%88%e3%83%95%e3%83%ad%e3%83%bc%e3%81%ae%e7%a2%ba%e8%aa%8d/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nipx 待ち受けFlash / Valentine&#8217;s Day</title>
		<link>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-valentines-day/</link>
		<comments>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-valentines-day/#comments</comments>
		<pubDate>Thu, 14 Jan 2010 13:15:26 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Download]]></category>
		<category><![CDATA[Flash Lite]]></category>
		<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2772</guid>
		<description><![CDATA[







待ち受けFlash
Valentine&#8217;s Day


女の子の2月はいつだって忙しい！
本命彼へ気持ちを込めて、作るの手作りチョコレート♪
義理チョコレートは彼候補のため♪
だけれど、女の子 [...]]]></description>
			<content:encoded><![CDATA[<table border="0" cellspacing="10" cellpadding="0" width="100%">
<tbody>
<tr align="left" valign="top">
<td><img src="http://nipx.jp/download/wallpaper/Valentine.jpg" alt="" width="153" height=""426 /></td>
<td width="100%">
<dl style="font-size:12px;line-height:18px;margin-top:10px;margin-bottom:20px">
<dt style="font-size:14px">
<strong><br />
<span style="font-size:10px">待ち受けFlash</span><br />
Valentine&#8217;s Day</strong>
</dt>
<dd>
女の子の2月はいつだって忙しい！<br />
本命彼へ気持ちを込めて、作るの手作りチョコレート♪<br />
義理チョコレートは彼候補のため♪<br />
だけれど、女の子は誰でも手の抜き方を知っている。</p>
<p><a href="http://wallpaper.nipx.jp/archives/157">» Preview</a>
</dd>
</dl>
</td>
</tr>
</tbody>
</table>
<p>新しい試みで、オリジナル 待ち受けFlash を作りました。<br />
Flash Liteは1.1対応で作るのが汎用的と思いますが、ウチのは2.0以上の対応です。</p>
<p>昨今もAS2の仕事があったりするんでそのノウハウを活かそうと考えた。PCでは過去のものになりつつあるAS2も、Flash Liteに置き換えれば前向きに考えられるかと思ったわけです。携帯Flashは全然やってないので実機で充分に動くものになっているか少し不安です。</p>
<p>実機確認は手もとにあったWILLCOM WS011SHのFlash Lite 2.1でしか出来ていないので、もし試されたならご覧いただいた機種や動作状況を教えていただけるとありがたいです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/nipx-%e5%be%85%e3%81%a1%e5%8f%97%e3%81%91flash-valentines-day/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>nipx.jp</title>
		<link>http://blog.nipx.jp/2010/01/nipx-jp/</link>
		<comments>http://blog.nipx.jp/2010/01/nipx-jp/#comments</comments>
		<pubDate>Fri, 08 Jan 2010 06:42:27 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[nipx]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2746</guid>
		<description><![CDATA[
Cool HomePages.com に nipx.jp 載せてくれたらしい。今日メールがきてた。
作ったの1年前の話なんだが&#8230;。ともあれ、ありがとうございました。
スペースシャトルは今年で退役って話なんで [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.nipx.jp/wp-content/uploads/2010/01/chp.png" rel="shadowbox[post-2746];player=img;"><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/chp.jpg" alt="" title="" width="500" height="567" class="aligncenter size-full wp-image-2749" /></a></p>
<p><a href="http://www.coolhomepages.com/">Cool HomePages.com</a> に <a href="http://nipx.jp">nipx.jp</a> 載せてくれたらしい。今日メールがきてた。<br />
作ったの1年前の話なんだが&#8230;。ともあれ、ありがとうございました。<br />
スペースシャトルは今年で退役って話なんで来年までにリニューアルしたい。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/nipx-jp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>コメントを記述するなら</title>
		<link>http://blog.nipx.jp/2010/01/%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%92%e8%a8%98%e8%bf%b0%e3%81%99%e3%82%8b%e3%81%aa%e3%82%89/</link>
		<comments>http://blog.nipx.jp/2010/01/%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%92%e8%a8%98%e8%bf%b0%e3%81%99%e3%82%8b%e3%81%aa%e3%82%89/#comments</comments>
		<pubDate>Tue, 05 Jan 2010 08:46:24 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2675</guid>
		<description><![CDATA[Flashで開発する際、コメントってどうしてます？
僕の場合、自分しかさわらない一度っきりのプロジェクトにいちいち緻密にコメントつける必要性は微妙と思いつつも、見直してみると大抵コメントをつけているようです。
最近はどう [...]]]></description>
			<content:encoded><![CDATA[<p>Flashで開発する際、コメントってどうしてます？<br />
僕の場合、自分しかさわらない一度っきりのプロジェクトにいちいち緻密にコメントつける必要性は微妙と思いつつも、見直してみると大抵コメントをつけているようです。<br />
最近はどうせコメントをつけるならとASDocに対応した形式で記述するようにしました。<br />
このASDocの書式には結構多様な指定が出来るようになっています。<br />
刺身のつまみたいなもんなんで、全部覚えようなんて気にはまったくならないのだけども、いざ書き出そうって時にエラーってことが頻繁なんで、自分的な要点を記録しておきます。</p>
<p>先にヘルプのインデックスへリンク。<br />
<a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=asdoc_1.html">参考:ASDoc の使用</a></p>
<p>コメントの記述は以下の書式。/** と */ の間にコメントを書く。<br />
コメント行頭の * は無くても問題なく書き出されるような気がしますが、ASDocで解析するのに使うと参考にあるので記述する。この書式をクラスやメソッド、プロパティなどを記述している直前に書く。この位置にコメントを書くことは多いと思うので、どうせならこれにしておくって感じ。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/** 
* Main comment text.
* 
* @tag Tag text.
*/</span></pre></div></div>

<p><a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=asdoc_3.html#250972">参考:ASDoc コメントの作成</a></p>
<p>@の部分がASDocのタグになっていて、ASDocを書き出す時に整形されます。<br />
<a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=asdoc_6.html#251570">参考:ASDoc タグ</a></p>
<p>いろいろありますが、メソッドやコンストラクタの引数用に@param。戻り値用に@return。くらいしか使っていない。自分用にはこの位でいんじゃないかと思います。僕的にコケたところで、getter/setterの場合、ASDocのコメントは1カ所に書きます。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">/**
 * 直線を定義します。
 */</span>	
<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Line<span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * 直線を定義します。
	 * 
	 * @param a 直線を（ax + by + c = 0）で表す場合のaです。
	 * @param b 直線を（ax + by + c = 0）で表す場合のbです。
	 * @param c 直線を（ax + by + c = 0）で表す場合のcです。
	 */</span>	
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Line<span style="color: #66cc66;">&#40;</span> a:<span style="color: #0066CC;">Number</span>, b:<span style="color: #0066CC;">Number</span>, c:<span style="color: #0066CC;">Number</span> <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">this</span>._a	= a;
		<span style="color: #0066CC;">this</span>._b	= b;
		<span style="color: #0066CC;">this</span>._c	= c;
&nbsp;
		<span style="color: #0066CC;">this</span>._update<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #808080; font-style: italic;">/**
	 * 直線を（ax + by + c = 0）で表す場合のaです。 
	 * @return ax + by + c = 0 の a です。
	 */</span>		
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">get</span> a<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #b1b100;">return</span> <span style="color: #0066CC;">this</span>._a;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">set</span> a<span style="color: #66cc66;">&#40;</span>n:<span style="color: #0066CC;">Number</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">this</span>._a = n;
		<span style="color: #0066CC;">this</span>._update<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #0066CC;">private</span> <span style="color: #000000; font-weight: bold;">var</span> _a:<span style="color: #0066CC;">Number</span>;
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>コメントはHTMLタグが使える。<br />
<a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=asdoc_8.html#251606">参考:一般に使用される HTML エレメントの一覧</a></p>
<p>ASDocを書き出した時に改行くらい無いと読みづらいものあるので&lt;p&gt;タグは良く使う。<br />
&lt;br&gt;はうまく利かない気がする。あと&lt;a&gt;タグも使えるので参考がある時は記述しておきますね。<br />
コメントを勢いで書くとよく失敗するのが特殊文字。参考の下にある実体参照は注意した方がいい。&amp;lt; &amp;gt; &amp;amp;みたいなHTMLオーサでもよく使うものはすぐ気づいたのだけど、@（アットマーク）とか*（アスタリスク）ってあまり実体参照で使わないと思うので。これがあると書き出しの時エラーになります。</p>
<p>@ = &amp;#64;<br />
* = ~~ （実体参照じゃないけど、ASDoc書式ではチルダ二つで書く）</p>
<p><br/></p>
<hr size="1" style="margin:20px 0px"/>
<br/></p>
<p>コメントの記述はこの位にしてASDocの書き出し方。<br />
Flex SDKとターミナルを使います。<br />
FlashDevelop環境ならGUIからいけるっぽいが、自分はMac環境。Mac版作って欲しい。<br />
なのでここからターミナルの操作要点になります。（自分はこの使い方をいつも忘れるのでこっちの方が重要メモ）</p>
<p>ターミナルを立ち上げたら、asdocの実行ファイルディレクトリに移動します。実行ファイルはFlex SDKのbinディレクトリの中にある。コマンドラインを見ると気分が悪くなる僕みたいな人向けの移動する方法。</p>
<p><strong>ターミナルにcd を入力してbinフォルダをドロップ。</strong><br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/01/terminal0.gif" alt="" title="" width="501" height="441" class="aligncenter size-full wp-image-2730" /></p>
<hr size="1" style="margin:20px 0px"/>
<p>次にコマンドを入力します。<br />
<a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=asdoc_9.html#251615">参考: ASDoc ツールの実行</a><br />
コマンドオプションが沢山ありますが必要に応じて指定します。<br />
僕は書き出すファイルをまとめて-doc-sourcesを指定するだけで書き出してます。</p>
<p>まず、asdocを指定する。./を忘れないように注意。</p>
<p><strong>./asdoc </strong></p>
<hr size="1" style="margin:20px 0px"/>
<p>Flex SDKのバージョンによりますが、FlashPlayer10以降のクラスが含まれる場合（Matrix3DとかVector3Dとか）-target-player オプションを入れます。<br />
<a href="http://as3s.org/2008/10/flex-builder-3-flash-player-10/">参考:Flex Builder 3をFlash Player 10に対応させる</a></p>
<p><strong>./asdoc -target-player=10.0.12</strong></p>
<hr size="1" style="margin:20px 0px"/>
<p>ライブラリにSWCを使っている場合（Progressionとか）、-library-path オプションを入力してSWCファイルのディレクトリを指定します。これもフォルダドロップでOK。</p>
<p><strong>./asdoc -target-player=10.0.12 -library-path /Users/name/project/libs/</strong></p>
<hr size="1" style="margin:20px 0px"/>
<p>書き出したいディレクトリを-doc-sourcesで指定します。フォルダドロップでOK。</p>
<p><strong>./asdoc -target-player=10.0.12 -library-path /Users/name/project/libs/ -doc-sources /Users/name/project/src/jp/nipx/</strong></p>
<p>これを実行すればbinの中にasdoc-outputフォルダが生成され中にASDocが入っています。</p>
<hr size="1" style="margin:20px 0px"/>
<p>知っておくと便利そうなターミナル操作<br />
Control + A　行頭へ移動<br />
Control + E　行末へ移動<br />
Control + U　カーソルより左の文字をすべて消去<br />
Control + W　カーソルより左の文字を単語単位で消去<br />
Control + K　カーソルより右の文字をすべて消去<br />
（ターミナルの設定 > キーボード > メタキーとしてOptionキーを使用にチェックを入れて）<br />
Option + B　単語単位で左に移動<br />
Option + F　単語単位で右に移動</p>
<p><br/></p>
<p>ところで世に配布されているありがたいライブラリなんかは、間違いなく整然としたコメントがつけられています。<br />
数式と文章って真逆なようでそうでもないものだと思う。わかりやすいソースはわかりやすい言葉で説明できるものだと思いました。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/%e3%82%b3%e3%83%a1%e3%83%b3%e3%83%88%e3%82%92%e8%a8%98%e8%bf%b0%e3%81%99%e3%82%8b%e3%81%aa%e3%82%89/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>外部SWFに埋め込んだフォントを使う</title>
		<link>http://blog.nipx.jp/2010/01/%e5%a4%96%e9%83%a8swf%e3%81%ab%e5%9f%8b%e3%82%81%e8%be%bc%e3%82%93%e3%81%a0%e3%83%95%e3%82%a9%e3%83%b3%e3%83%88%e3%82%92%e4%bd%bf%e3%81%86/</link>
		<comments>http://blog.nipx.jp/2010/01/%e5%a4%96%e9%83%a8swf%e3%81%ab%e5%9f%8b%e3%82%81%e8%be%bc%e3%82%93%e3%81%a0%e3%83%95%e3%82%a9%e3%83%b3%e3%83%88%e3%82%92%e4%bd%bf%e3%81%86/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 13:48:49 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=2690</guid>
		<description><![CDATA[年末の忘年会で、外部SWFに埋め込んだフォントを使う話題がありました。埋め込んだフォントがうまく有効にならないってことで、その時は多分出来るんじゃない？位に思ってましたけど、やってみたらすんなりとはいかなかったので記録し [...]]]></description>
			<content:encoded><![CDATA[<p>年末の忘年会で、外部SWFに埋め込んだフォントを使う話題がありました。埋め込んだフォントがうまく有効にならないってことで、その時は多分出来るんじゃない？位に思ってましたけど、やってみたらすんなりとはいかなかったので記録しておきます。</p>
<p>話題に上がったのは、たぶんこういうファイル構成だと思う。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/01/fontloadergraph.gif" alt="" title="" width="461" height="150" class="aligncenter size-full wp-image-2691" /><br />
これを前提にして試してみた。</p>
<p>fonts.swfのステージにダイナミックテキストを置いて、ヒラギノ角ゴ Pro W6、ヒラギノ明朝 Pro W6を配置。<br />
両方とも“日本語（かな）（318文字）”を埋め込んでパブリッシュ。<br />
コンストラクタで、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Fonts<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> arr:<span style="color: #0066CC;">Array</span>	= <span style="color: #0066CC;">Font</span>.<span style="color: #006600;">enumerateFonts</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">for</span> each<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Font</span> <span style="color: #b1b100;">in</span> arr <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> i.<span style="color: #006600;">fontName</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>としてトレースして結果は期待どおり。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/01/fonts.gif" alt="" title="" width="500" height="320" class="aligncenter size-full wp-image-2693" /></p>
<p>続いてpreloader.swfからfonts.swfを読み込んでトレースしてみる。<br />
埋め込みが参照できれば、&#8212;▼Preloader▼&#8212;の下にフォント名が出力されるはず。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Preloader<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> loader:Loader = <span style="color: #000000; font-weight: bold;">new</span> Loader<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	loader.<span style="color: #0066CC;">load</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> URLRequest<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;fonts.swf&quot;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
	loader.<span style="color: #006600;">contentLoaderInfo</span>.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span> Event.<span style="color: #006600;">INIT</span>, <span style="color: #000000; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">e</span>:Event<span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">void</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;---▼Preloader▼---&quot;</span> <span style="color: #66cc66;">&#41;</span>
		<span style="color: #000000; font-weight: bold;">var</span> arr:<span style="color: #0066CC;">Array</span>	= <span style="color: #0066CC;">Font</span>.<span style="color: #006600;">enumerateFonts</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #b1b100;">for</span> each<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Font</span> <span style="color: #b1b100;">in</span> arr <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Preloader:&quot;</span> + i.<span style="color: #006600;">fontName</span> <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/Preloader.gif" alt="" title="" width="500" height="400" class="aligncenter size-full wp-image-2696" /></p>
<p>あれ？出力されない&#8230;。どうもこの時点でfonts.swfの埋め込みを参照できないっぽい。<br />
で、色々試してみたらFont.registerFont()でグローバルフォントリストに追加しないといけないようだ。<br />
Font.registerFont()にはクラスを渡すことになっているのだけど、今回みたいな一部フォントの場合、どうやればよいか？(フォントシンボルですべての文字を埋め込む場合は、フォントシンボルのクラスでOK。)<br />
これはメタタグを使えばうまくいった。</p>
<p>fonts.swfのダイナミックテキストによる埋め込みをやめて、Embedタグで埋め込む。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> Fonts <span style="color: #0066CC;">extends</span> Sprite<span style="color: #66cc66;">&#123;</span>
&nbsp;
   <span style="color: #66cc66;">&#91;</span>Embed<span style="color: #66cc66;">&#40;</span>source=<span style="color: #ff0000;">'../../assets/ヒラギノ角ゴ Pro W6.otf'</span>,
    	fontName= <span style="color: #ff0000;">&quot;Hiragino Kaku Gothic Pro W6&quot;</span>,
		mimeType=<span style="color: #ff0000;">'application/x-font'</span>,
		unicodeRange=<span style="color: #ff0000;">&quot;U+3000-U+303F,U+3041-U+309F,U+30A0-U+30FF,U+FF61-U+FF9F&quot;</span> <span style="color: #808080; font-style: italic;">/* Japanese Kana */</span>
    <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
	<span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> HIRAGINO_KAKUGO_PRO_W6:<span style="color: #000000; font-weight: bold;">Class</span>;
&nbsp;
   <span style="color: #66cc66;">&#91;</span>Embed<span style="color: #66cc66;">&#40;</span>source=<span style="color: #ff0000;">'../../assets/ヒラギノ明朝 Pro W6.otf'</span>,
    	fontName= <span style="color: #ff0000;">&quot;Hiragino Mincho Pro W6&quot;</span>,
		mimeType=<span style="color: #ff0000;">'application/x-font'</span>,
		unicodeRange=<span style="color: #ff0000;">&quot;U+3000-U+303F,U+3041-U+309F,U+30A0-U+30FF,U+FF61-U+FF9F&quot;</span> <span style="color: #808080; font-style: italic;">/* Japanese Kana */</span>
    <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#93;</span>
	<span style="color: #0066CC;">private</span> <span style="color: #0066CC;">static</span> <span style="color: #000000; font-weight: bold;">var</span> HIRAGINO_MINCHO_PRO_W6:<span style="color: #000000; font-weight: bold;">Class</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> Fonts<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">Font</span>.<span style="color: #006600;">registerFont</span><span style="color: #66cc66;">&#40;</span> HIRAGINO_KAKUGO_PRO_W6 <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #0066CC;">Font</span>.<span style="color: #006600;">registerFont</span><span style="color: #66cc66;">&#40;</span> HIRAGINO_MINCHO_PRO_W6 <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>embedの書式について詳しくは、Flexのヘルプ参照。<br />
<a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=fonts_04.html">埋め込みフォントの使用</a></p>
<p>sourceにはフォントファイルへのパスを書く。相対パスの基準はEmbedを書くasファイルから。<br />
fontNameはasから参照するときのフォント名をつける。上記みたいなそのまんまのネーミングは混乱のもとになる予感。My 〜 とかの方がよさそうな気がする。<br />
unicodeRangeで埋め込む範囲を指定するのだけど、これについては後ほど。<br />
Embedタグの下の変数はEmbed参照用の変数ね。これをFont.registerFontで登録する。<br />
ひとまずこれでPreloaderから参照できるか試してみる。</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/Preloader_2.gif" alt="" title="" width="500" height="400" class="aligncenter size-full wp-image-2700" /><br />
今度は参照できるようになった。</p>
<p>グローバルに追加されていればindex.swfからも問題なく使える。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> <span style="color: #0066CC;">Index</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;---▼Index▼---&quot;</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #000000; font-weight: bold;">var</span> arr:<span style="color: #0066CC;">Array</span>	= <span style="color: #0066CC;">Font</span>.<span style="color: #006600;">enumerateFonts</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #b1b100;">for</span> each<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Font</span> <span style="color: #b1b100;">in</span> arr <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Index:&quot;</span> + i.<span style="color: #006600;">fontName</span> <span style="color: #66cc66;">&#41;</span>;
	<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">var</span> field:<span style="color: #0066CC;">TextField</span>	= <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextField</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	field.<span style="color: #0066CC;">autoSize</span>	= TextFieldAutoSize.<span style="color: #006600;">CENTER</span>;
	field.<span style="color: #006600;">defaultTextFormat</span>	= <span style="color: #000000; font-weight: bold;">new</span> <span style="color: #0066CC;">TextFormat</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;Hiragino Mincho Pro W6&quot;</span>, <span style="color: #cc66cc;">24</span> <span style="color: #66cc66;">&#41;</span>;
	field.<span style="color: #0066CC;">embedFonts</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
	field.<span style="color: #006600;">x</span>	= <span style="color: #cc66cc;">200</span>;
	field.<span style="color: #006600;">y</span> = <span style="color: #cc66cc;">138</span>;
	field.<span style="color: #006600;">rotation</span>= <span style="color: #cc66cc;">15</span>;
	field.<span style="color: #0066CC;">text</span>	= <span style="color: #ff0000;">&quot;あけましておめでとうございます&quot;</span>;
	<span style="color: #0066CC;">this</span>.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> field <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/01/Index.gif" alt="" title="" width="500" height="450" class="aligncenter size-full wp-image-2702" /></p>
<p>最後にunicodeRangeについて。<br />
埋め込み文字の範囲はこれにUnicodeの文字コードを指定し行うようだ。<br />
指定の仕方は、<br />
<a href="http://livedocs.adobe.com/flex/3_jp/html/help.html?content=fonts_07.html#362198">文字範囲の設定</a><br />
に詳しく書かれているようです。<br />
がっつり英語が読めるならこれらしい。<br />
<a href="http://www.w3.org/TR/1998/REC-CSS2-19980512/fonts.html#descdef-unicode-range">15 Fonts</a></p>
<p>で論より実践でいきます。上記リンクに記載がありますが、Flex SDKの中に、<br />
flash-unicode-table.xmlってファイルがあって、日本語のかなだけとか、漢字 JIS第一水準みたいなFlashにある文字セットが記載されているのでまとめて埋め込む時はこれを使えばよさそう。</p>
<p>個別の文字だけど、U+3041でいうところの3041の部分、U+~の~が16進数で表された文字コードになっているようなのでActionScriptで以下のような変換を使って出せると思う。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> str:<span style="color: #0066CC;">String</span>	= <span style="color: #ff0000;">&quot;あ&quot;</span>;
<span style="color: #808080; font-style: italic;">//Unicode 10進数表記</span>
<span style="color: #000000; font-weight: bold;">var</span> num:<span style="color: #0066CC;">Number</span>	= str.<span style="color: #0066CC;">charCodeAt</span><span style="color: #66cc66;">&#40;</span><span style="color: #cc66cc;">0</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//Unicode 16進数表記</span>
<span style="color: #000000; font-weight: bold;">var</span> code:<span style="color: #0066CC;">String</span>	= num.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">16</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #808080; font-style: italic;">//文字</span>
<span style="color: #000000; font-weight: bold;">var</span> txt:<span style="color: #0066CC;">String</span>	= <span style="color: #0066CC;">String</span>.<span style="color: #0066CC;">fromCharCode</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">parseInt</span><span style="color: #66cc66;">&#40;</span> code, <span style="color: #cc66cc;">16</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> num <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> code <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> txt <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">/*
出力
12354
3042
あ
*/</span></pre></div></div>

<p>ってことで、めんどくさいけどいけるんじゃないんですかね。 >> Shuさん</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/01/%e5%a4%96%e9%83%a8swf%e3%81%ab%e5%9f%8b%e3%82%81%e8%be%bc%e3%82%93%e3%81%a0%e3%83%95%e3%82%a9%e3%83%b3%e3%83%88%e3%82%92%e4%bd%bf%e3%81%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
