<?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>Fri, 03 Sep 2010 10:07:21 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>TLFTextField独習 その3</title>
		<link>http://blog.nipx.jp/2010/09/tlftextfield%e7%8b%ac%e7%bf%92-%e3%81%9d%e3%81%ae3/</link>
		<comments>http://blog.nipx.jp/2010/09/tlftextfield%e7%8b%ac%e7%bf%92-%e3%81%9d%e3%81%ae3/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 10:07:21 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3806</guid>
		<description><![CDATA[TLFTextFieldを弄っていて気づいたところ。
デフォルトで隙間があるんです。TextFieldにもあったけど。
borderをつけてみるとわかる。

XML.prettyPrinting	= false;
XML [...]]]></description>
			<content:encoded><![CDATA[<p>TLFTextFieldを弄っていて気づいたところ。<br />
デフォルトで隙間があるんです。TextFieldにもあったけど。<br />
borderをつけてみるとわかる。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyPrinting</span>	= <span style="color: #000000; font-weight: bold;">false</span>;
<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyIndent</span>	= <span style="color: #cc66cc;">0</span>;
<span style="color: #000000; font-weight: bold;">var</span> markup:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>TextFlow xmlns=<span style="color: #ff0000;">&quot;http://ns.adobe.com/textLayout/2008&quot;</span><span style="color: #66cc66;">&gt;&lt;</span>p<span style="color: #66cc66;">&gt;&lt;</span>img source=<span style="color: #ff0000;">&quot;contrail.jpg&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;200&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;150&quot;</span><span style="color: #66cc66;">/&gt;&lt;/</span>p<span style="color: #66cc66;">&gt;&lt;/</span>TextFlow<span style="color: #66cc66;">&gt;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> field:TLFTextField	= <span style="color: #000000; font-weight: bold;">new</span> TLFTextField<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
field.<span style="color: #0066CC;">border</span>= <span style="color: #000000; font-weight: bold;">true</span>;
field.<span style="color: #006600;">x</span>		= <span style="color: #cc66cc;">10</span>;
field.<span style="color: #006600;">y</span>		= <span style="color: #cc66cc;">10</span>;
field.<span style="color: #0066CC;">width</span>	= <span style="color: #cc66cc;">230</span>;
field.<span style="color: #0066CC;">height</span>= <span style="color: #cc66cc;">200</span>;
field.<span style="color: #006600;">tlfMarkup</span> = markup.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
addChild<span style="color: #66cc66;">&#40;</span> field <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>端から2pxの隙間がある。<br />
<a title="TLFTextFieldの隙間" rel="shadowbox;width=250;height=250;" href='http://blog.nipx.jp/wp-content/uploads/2010/09/TLFController/index.html'><br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/09/TLFTextFieldPadding_00.jpg" alt="" title="" width="250" height="250" class="aligncenter size-full wp-image-3808" /><br />
</a></p>
<p>この隙間を無くしたいと思いました。<br />
paddingだろうと思って、それらしきものを調べてみるとすべて未定義。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #808080; font-style: italic;">//結果はもれなくundefined。</span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">paddingTop</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">paddingLeft</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">hostFormat</span>.<span style="color: #006600;">paddingTop</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">hostFormat</span>.<span style="color: #006600;">paddingLeft</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">format</span>.<span style="color: #006600;">paddingTop</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">format</span>.<span style="color: #006600;">paddingLeft</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>この隙間はコンテナレベルのpaddingに指定されていました。</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> controller:ContainerController = field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">getControllerAt</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;">//TLFContainerController。謎のクラス。</span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> controller <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #808080; font-style: italic;">//これだ。</span>
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> controller.<span style="color: #006600;">paddingTop</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> controller.<span style="color: #006600;">paddingLeft</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> controller.<span style="color: #006600;">format</span>.<span style="color: #006600;">paddingTop</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> controller.<span style="color: #006600;">format</span>.<span style="color: #006600;">paddingLeft</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
controller.<span style="color: #006600;">paddingTop</span> = controller.<span style="color: #006600;">paddingLeft</span> = <span style="color: #cc66cc;">0</span>;
field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">updateAllControllers</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>TLFContainerControllerって名前で意味はわかりますが、ググっても全然出てこない謎のコントローラー。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/09/tlftextfield%e7%8b%ac%e7%bf%92-%e3%81%9d%e3%81%ae3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TLF Markupのimg</title>
		<link>http://blog.nipx.jp/2010/09/tlf-markup%e3%81%aeimg/</link>
		<comments>http://blog.nipx.jp/2010/09/tlf-markup%e3%81%aeimg/#comments</comments>
		<pubDate>Fri, 03 Sep 2010 06:43:04 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3778</guid>
		<description><![CDATA[やたらとテキスト周りのエントリーが続いています。
覚えること多すぎなText Layout Framework。そしてFlash Text Engine。
TLF Markupのimgタグについて気づいたことをメモ。
T [...]]]></description>
			<content:encoded><![CDATA[<p>やたらとテキスト周りのエントリーが続いています。<br />
覚えること多すぎなText Layout Framework。そしてFlash Text Engine。<br />
TLF Markupのimgタグについて気づいたことをメモ。</p>
<p>TLF Markupでは、InlineGraphicElementをimgタグで記述しますが、そのソース画像の指定はsource属性です。srcでないところに注意。</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> markup:<span style="color: #0066CC;">XML</span> = <span style="color: #66cc66;">&lt;</span>TextFlow xmlns=<span style="color: #ff0000;">&quot;http://ns.adobe.com/textLayout/2008&quot;</span><span style="color: #66cc66;">&gt;&lt;</span>p<span style="color: #66cc66;">&gt;&lt;</span>img src=<span style="color: #ff0000;">&quot;contrail.jpg&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;200&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;150&quot;</span><span style="color: #66cc66;">/&gt;&lt;</span>span<span style="color: #66cc66;">&gt;</span>飛行機雲<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;&lt;/</span>p<span style="color: #66cc66;">&gt;&lt;/</span>TextFlow<span style="color: #66cc66;">&gt;</span>;
<span style="color: #000000; font-weight: bold;">var</span> flow:TextFlow = TextConverter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> markup, TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
flow.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">addController</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> ContainerController<span style="color: #66cc66;">&#40;</span> container, <span style="color: #cc66cc;">480</span>, <span style="color: #cc66cc;">480</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
flow.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">updateAllControllers</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><br/></p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>img src=<span style="color: #ff0000;">&quot;contrail.jpg&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;200&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;150&quot;</span><span style="color: #66cc66;">/&gt;</span></pre></div></div>

<p>のsrcがNGなわけです。</p>
<p><br/></p>
<p>試しにこの時のInlineGraphicElementの属性を確認してみる。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> img:InlineGraphicElement = flow.<span style="color: #006600;">getFirstLeaf</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> as InlineGraphicElement; 
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;img.source = &quot;</span> + img.<span style="color: #006600;">source</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
結果は<span style="color: #000000; font-weight: bold;">null</span>。</pre></div></div>

<p>とsource属性に値が無いです。</p>
<p><br/></p>
<p>少し混乱するのがここからで、TextFlowを再度テキストに書き出してみると、</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> = TextConverter.<span style="color: #006600;">export</span><span style="color: #66cc66;">&#40;</span> flow, TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span>, ConversionType.<span style="color: #006600;">STRING_TYPE</span> <span style="color: #66cc66;">&#41;</span> as <span style="color: #0066CC;">String</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> str <span style="color: #66cc66;">&#41;</span>; 
&nbsp;
結果は、
<span style="color: #66cc66;">&lt;</span>TextFlow columnCount=<span style="color: #ff0000;">&quot;inherit&quot;</span> columnGap=<span style="color: #ff0000;">&quot;inherit&quot;</span> columnWidth=<span style="color: #ff0000;">&quot;inherit&quot;</span> lineBreak=<span style="color: #ff0000;">&quot;inherit&quot;</span> 
paddingBottom=<span style="color: #ff0000;">&quot;inherit&quot;</span> paddingLeft=<span style="color: #ff0000;">&quot;inherit&quot;</span> paddingRight=<span style="color: #ff0000;">&quot;inherit&quot;</span> paddingTop=<span style="color: #ff0000;">&quot;inherit&quot;</span> verticalAlign=<span style="color: #ff0000;">&quot;inherit&quot;</span> 
whiteSpaceCollapse=<span style="color: #ff0000;">&quot;preserve&quot;</span> xmlns=<span style="color: #ff0000;">&quot;http://ns.adobe.com/textLayout/2008&quot;</span><span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;</span>p<span style="color: #66cc66;">&gt;</span>
		<span style="color: #66cc66;">&lt;</span>img src=<span style="color: #ff0000;">&quot;contrail.jpg&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;150&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;200&quot;</span><span style="color: #66cc66;">/&gt;</span>
		<span style="color: #66cc66;">&lt;</span>span<span style="color: #66cc66;">&gt;</span>飛行機雲<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
	<span style="color: #66cc66;">&lt;/</span>p<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>TextFlow<span style="color: #66cc66;">&gt;</span></pre></div></div>

<p>src属性はそのまま残っていたりします。マークアップは別途保存されるんですかね。</p>
<p><br/></p>
<p>これはいいとして、<a href="http://blog.nipx.jp/2010/07/tlftextfield独習/">以前のエントリーで2段階で変換すればうまくいく</a>と書きました。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> markup:<span style="color: #0066CC;">XML</span> = <span style="color: #66cc66;">&lt;</span>TextFlow xmlns=<span style="color: #ff0000;">&quot;http://ns.adobe.com/textLayout/2008&quot;</span><span style="color: #66cc66;">&gt;&lt;</span>p<span style="color: #66cc66;">&gt;&lt;</span>img src=<span style="color: #ff0000;">&quot;contrail.jpg&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;200&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;150&quot;</span><span style="color: #66cc66;">/&gt;&lt;</span>span<span style="color: #66cc66;">&gt;</span>飛行機雲<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;&lt;/</span>p<span style="color: #66cc66;">&gt;&lt;/</span>TextFlow<span style="color: #66cc66;">&gt;</span>;
<span style="color: #000000; font-weight: bold;">var</span> flow:TextFlow = TextConverter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> markup, TextConverter.<span style="color: #006600;">TEXT_FIELD_HTML_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
markup = TextConverter.<span style="color: #006600;">export</span><span style="color: #66cc66;">&#40;</span> flow, TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span>, ConversionType.<span style="color: #006600;">XML_TYPE</span> <span style="color: #66cc66;">&#41;</span> as <span style="color: #0066CC;">XML</span>;
flow = TextConverter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> markup, TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
flow.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">addController</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> ContainerController<span style="color: #66cc66;">&#40;</span> container, <span style="color: #cc66cc;">480</span>, <span style="color: #cc66cc;">480</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
flow.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">updateAllControllers</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>これなら期待どおり変換されて画像が表示されます。</p>
<p><br/></p>
<p>もう少しだけ、よさそうな方法がありました。<br />
TextConverter.getImporterとTextConverter.getExporterを使ってまとめておくと便利かもしれません。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> HTMLImporter:ITextImporter	= TextConverter.<span style="color: #006600;">getImporter</span><span style="color: #66cc66;">&#40;</span> TextConverter.<span style="color: #006600;">TEXT_FIELD_HTML_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> TLFImporter:ITextImporter	= TextConverter.<span style="color: #006600;">getImporter</span><span style="color: #66cc66;">&#40;</span> TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> TLFExporter:ITextExporter	= TextConverter.<span style="color: #006600;">getExporter</span><span style="color: #66cc66;">&#40;</span> TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">function</span> getFlow<span style="color: #66cc66;">&#40;</span> source:<span style="color: #66cc66;">*</span> <span style="color: #66cc66;">&#41;</span>:TextFlow<span style="color: #66cc66;">&#123;</span>
	<span style="color: #b1b100;">return</span> TLFImporter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> TLFExporter.<span style="color: #006600;">export</span><span style="color: #66cc66;">&#40;</span> HTMLImporter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> source <span style="color: #66cc66;">&#41;</span>, ConversionType.<span style="color: #006600;">STRING_TYPE</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> container:Sprite= <span style="color: #000000; font-weight: bold;">new</span> Sprite<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
addChild<span style="color: #66cc66;">&#40;</span> container <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> markup:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>TextFlow xmlns=<span style="color: #ff0000;">&quot;http://ns.adobe.com/textLayout/2008&quot;</span><span style="color: #66cc66;">&gt;&lt;</span>p<span style="color: #66cc66;">&gt;&lt;</span>img src=<span style="color: #ff0000;">&quot;contrail.jpg&quot;</span> <span style="color: #0066CC;">width</span>=<span style="color: #ff0000;">&quot;200&quot;</span> <span style="color: #0066CC;">height</span>=<span style="color: #ff0000;">&quot;150&quot;</span><span style="color: #66cc66;">/&gt;&lt;</span>span<span style="color: #66cc66;">&gt;</span>飛行機雲<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;&lt;/</span>p<span style="color: #66cc66;">&gt;&lt;/</span>TextFlow<span style="color: #66cc66;">&gt;</span>;
<span style="color: #000000; font-weight: bold;">var</span> flow:TextFlow = getFlow<span style="color: #66cc66;">&#40;</span> markup <span style="color: #66cc66;">&#41;</span>;
flow.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">addController</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> ContainerController<span style="color: #66cc66;">&#40;</span> container, <span style="color: #cc66cc;">480</span>, <span style="color: #cc66cc;">480</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
flow.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">updateAllControllers</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><a title="まとめのサンプル" rel="shadowbox;width=500;height=250;" href='http://blog.nipx.jp/wp-content/uploads/2010/09/TLFMarkupImg/index.html'>まとめのサンプル</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/09/tlf-markup%e3%81%aeimg/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DoExecutor</title>
		<link>http://blog.nipx.jp/2010/08/doexecutor/</link>
		<comments>http://blog.nipx.jp/2010/08/doexecutor/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 08:17:36 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Progression]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3761</guid>
		<description><![CDATA[Progression 4 で追加されたコマンドにDoExecutorがあります。
このコマンドはその名の通り指定したExecutorObjectを実行出来るのですが、便利そうなケースがあったので記録しておきます。

ト [...]]]></description>
			<content:encoded><![CDATA[<p>Progression 4 で追加されたコマンドにDoExecutorがあります。<br />
このコマンドはその名の通り指定したExecutorObjectを実行出来るのですが、便利そうなケースがあったので記録しておきます。</p>
<ul>
<li>トップページは、直下に子シーンを持つ。</li>
<li>子シーンは背景イメージを変更する。</li>
<li>トップページでは子シーンのいずれかの背景イメージを表示する。</li>
</ul>
<p>ぎゅっと簡略した形ですがギャラリーコンテンツなんかでありそうなケース。</p>
<p>子シーンはこんな感じです。シーンに到達したら背景イメージを追加するだけ。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package<span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Bitmap</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">Prop</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">display</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">scenes</span>.<span style="color: #006600;">SceneObject</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> ChildScene <span style="color: #0066CC;">extends</span> SceneObject<span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> ChildScene<span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">name</span>:<span style="color: #0066CC;">String</span>=<span style="color: #000000; font-weight: bold;">null</span>, initObject:<span style="color: #0066CC;">Object</span>=<span style="color: #000000; font-weight: bold;">null</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">super</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066CC;">name</span>, initObject<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> bmp:Bitmap;	<span style="color: #808080; font-style: italic;">//背景イメージ</span>
&nbsp;
		protected override <span style="color: #000000; font-weight: bold;">function</span> atSceneLoad<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: #808080; font-style: italic;">//※確認用、シーンパスを表示</span>
			<span style="color: #000000; font-weight: bold;">var</span> indexScene:IndexScene	= parent as IndexScene;
			addCommand<span style="color: #66cc66;">&#40;</span>
				<span style="color: #000000; font-weight: bold;">new</span> Prop<span style="color: #66cc66;">&#40;</span> indexScene.<span style="color: #006600;">field</span>, <span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">text</span>:sceneId.<span style="color: #006600;">path</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//背景イメージ追加</span>
		protected override <span style="color: #000000; font-weight: bold;">function</span> atSceneInit<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> AddChildAt<span style="color: #66cc66;">&#40;</span> container, bmp, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		<span style="color: #808080; font-style: italic;">//背景イメージ削除</span>
		protected override <span style="color: #000000; font-weight: bold;">function</span> atSceneUnload<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> RemoveChild<span style="color: #66cc66;">&#40;</span> container, bmp <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>トップページはこちら。トップページでは背景イメージをランダムに選んで表示したいのですが、背景イメージの表示は子シーンにも記述があります。なのでこれをDoExecutorコマンドで動かしてしまおうという魂胆。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package<span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Bitmap</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #66cc66;">*</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">nipx</span>.<span style="color: #006600;">debug</span>.<span style="color: #006600;">btn</span>.<span style="color: #006600;">Btn</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">casts</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">display</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">lists</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">managers</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">media</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">net</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">commands</span>.<span style="color: #006600;">tweens</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #0066CC;">data</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">events</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">executors</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> jp.<span style="color: #006600;">progression</span>.<span style="color: #006600;">scenes</span>.<span style="color: #66cc66;">*</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> IndexScene <span style="color: #0066CC;">extends</span> SceneObject<span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> IndexScene<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> btn:Btn;
			btn = <span style="color: #000000; font-weight: bold;">new</span> Btn<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span> label:<span style="color: #ff0000;">&quot;Index&quot;</span>, sceneId:<span style="color: #000000; font-weight: bold;">new</span> SceneId<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;/index&quot;</span> <span style="color: #66cc66;">&#41;</span>, x:<span style="color: #cc66cc;">5</span>, y:<span style="color: #cc66cc;">225</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
			container.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> btn <span style="color: #66cc66;">&#41;</span>;
			btn	= <span style="color: #000000; font-weight: bold;">new</span> Btn<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span> label:<span style="color: #ff0000;">&quot;1&quot;</span>, sceneId:<span style="color: #000000; font-weight: bold;">new</span> SceneId<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;/index/1&quot;</span> <span style="color: #66cc66;">&#41;</span>, x:btn.<span style="color: #006600;">x</span> + <span style="color: #cc66cc;">5</span> + btn.<span style="color: #0066CC;">width</span>, y:<span style="color: #cc66cc;">225</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
			container.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> btn <span style="color: #66cc66;">&#41;</span>;
			btn	= <span style="color: #000000; font-weight: bold;">new</span> Btn<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span> label:<span style="color: #ff0000;">&quot;2&quot;</span>, sceneId:<span style="color: #000000; font-weight: bold;">new</span> SceneId<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;/index/2&quot;</span> <span style="color: #66cc66;">&#41;</span>, x:btn.<span style="color: #006600;">x</span> + <span style="color: #cc66cc;">5</span> + btn.<span style="color: #0066CC;">width</span>, y:<span style="color: #cc66cc;">225</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
			container.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> btn <span style="color: #66cc66;">&#41;</span>;
			btn	= <span style="color: #000000; font-weight: bold;">new</span> Btn<span style="color: #66cc66;">&#40;</span> <span style="color: #66cc66;">&#123;</span> label:<span style="color: #ff0000;">&quot;3&quot;</span>, sceneId:<span style="color: #000000; font-weight: bold;">new</span> SceneId<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;/index/3&quot;</span> <span style="color: #66cc66;">&#41;</span>, x:btn.<span style="color: #006600;">x</span> + <span style="color: #cc66cc;">5</span> + btn.<span style="color: #0066CC;">width</span>, y:<span style="color: #cc66cc;">225</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
			container.<span style="color: #006600;">addChild</span><span style="color: #66cc66;">&#40;</span> btn <span style="color: #66cc66;">&#41;</span>;
&nbsp;
			addScene<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> ChildScene<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;1&quot;</span>, <span style="color: #66cc66;">&#123;</span> bmp:<span style="color: #000000; font-weight: bold;">new</span> Bitmap<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> Img1<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">250</span>,<span style="color: #cc66cc;">250</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> as ChildScene;
			addScene<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> ChildScene<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;2&quot;</span>, <span style="color: #66cc66;">&#123;</span> bmp:<span style="color: #000000; font-weight: bold;">new</span> Bitmap<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> Img2<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">250</span>,<span style="color: #cc66cc;">250</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> as ChildScene;
			addScene<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> ChildScene<span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;3&quot;</span>, <span style="color: #66cc66;">&#123;</span> bmp:<span style="color: #000000; font-weight: bold;">new</span> Bitmap<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> Img3<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">250</span>,<span style="color: #cc66cc;">250</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span> as ChildScene;
&nbsp;
			field	= <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: #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;_ゴシック&quot;</span>, <span style="color: #cc66cc;">10</span>, 0x333333 <span style="color: #66cc66;">&#41;</span>;
			field.<span style="color: #006600;">x</span> = <span style="color: #cc66cc;">5</span>;
			container.<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>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">var</span> field:<span style="color: #0066CC;">TextField</span>;
&nbsp;
		protected override <span style="color: #000000; font-weight: bold;">function</span> atSceneInit<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: #808080; font-style: italic;">//子シーンをランダムに選ぶ</span>
			<span style="color: #000000; font-weight: bold;">var</span> i:<span style="color: #0066CC;">Number</span>	= <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">round</span><span style="color: #66cc66;">&#40;</span> numScenes <span style="color: #66cc66;">*</span> <span style="color: #0066CC;">Math</span>.<span style="color: #0066CC;">random</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>;
			i = <span style="color: #66cc66;">&#40;</span> i == numScenes <span style="color: #66cc66;">&#41;</span> ? <span style="color: #cc66cc;">0</span> : i;
			<span style="color: #000000; font-weight: bold;">var</span> scene:SceneObject	= getSceneAt<span style="color: #66cc66;">&#40;</span> i <span style="color: #66cc66;">&#41;</span>;
&nbsp;
			addCommand<span style="color: #66cc66;">&#40;</span>
				<span style="color: #000000; font-weight: bold;">new</span> Prop<span style="color: #66cc66;">&#40;</span> field, <span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">text</span>:sceneId.<span style="color: #006600;">path</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>,
				<span style="color: #808080; font-style: italic;">//子シーンexecutorを動かす、シーン到着時のイベントを送信</span>
				<span style="color: #000000; font-weight: bold;">new</span> DoExecutor<span style="color: #66cc66;">&#40;</span> scene.<span style="color: #006600;">executor</span>, <span style="color: #000000; font-weight: bold;">new</span> SceneEvent<span style="color: #66cc66;">&#40;</span> SceneEvent.<span style="color: #006600;">SCENE_INIT</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
		protected override <span style="color: #000000; font-weight: bold;">function</span> atSceneGoto<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> RemoveChildAt<span style="color: #66cc66;">&#40;</span> container, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>
			<span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><a title="DoExecutorのサンプル" rel="shadowbox;width=250;height=250;" href='http://blog.nipx.jp/wp-content/uploads/2010/08/doexecutor/index.html'>DoExecutorのサンプル</a></p>
<p>こんな形で使うと似たような処理をいくつものSceneObjectに書くようなことを減らせることもありそうですね。<br />
ここでは、もともとSceneObjectに実装されているイベントでExecutorObjectを動かしていますが、独自のイベントでExecutorObjectを動かすことも可能です。</p>
<p>このあたりExecutorObjectってなに？ってところから、解りやすく書かれている記事を見つけました。<br />
<a href="http://dis.ne.jp/blog/flash/890.html">Progression 4 の DoExecutorコマンドを使い倒す!　</a></p>
<p>DoExecutorコマンドは、動かしたExecutorObjectの処理でもコマンドシークエンスが有効ってところがとても便利ですね。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/doexecutor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CS5の埋め込み文字</title>
		<link>http://blog.nipx.jp/2010/08/cs5%e3%81%ae%e5%9f%8b%e3%82%81%e8%be%bc%e3%81%bf%e6%96%87%e5%ad%97/</link>
		<comments>http://blog.nipx.jp/2010/08/cs5%e3%81%ae%e5%9f%8b%e3%82%81%e8%be%bc%e3%81%bf%e6%96%87%e5%ad%97/#comments</comments>
		<pubDate>Mon, 30 Aug 2010 11:54:15 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3736</guid>
		<description><![CDATA[埋め込みフォントをSWCに書き出して利用すれば、高速なパブリッシュが出来んだが、Flashで利用する際、アウトラインフォーマットがクラシック（DF3）で、SWCに書き出したフォントと同じフォントを指定したテキストフィール [...]]]></description>
			<content:encoded><![CDATA[<p>埋め込みフォントをSWCに書き出して利用すれば、高速なパブリッシュが出来んだが、Flashで利用する際、アウトラインフォーマットがクラシック（DF3）で、SWCに書き出したフォントと同じフォントを指定したテキストフィールドがあるとうまくSWCのフォントを利用できなかったのでメモしておく。</p>
<p>SWCに書き出すほうのflaファイルでは以下のように日本語フォントを埋め込んでSWCに書き出します。パブリッシュのSWF設定、SWC書き出しにチェックでSWCに書き出せる。<br />
<a href="http://blog.nipx.jp/wp-content/uploads/2010/08/embeddf3_0.gif" rel="shadowbox[post-3736];player=img;"><img src="http://blog.nipx.jp/wp-content/uploads/2010/08/embeddf3_0-500x292.gif" alt="" title="" width="500" height="292" class="aligncenter size-medium wp-image-3738" /></a></p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/08/embeddf3_1.gif" alt="" title="" width="265" height="216" class="aligncenter size-full wp-image-3740" /></p>
<p>SWCを利用するほうのflaファイルで、SWCにパスを通し書き出したクラス名のインスタンスを宣言すると埋め込みフォントとして利用できるようになる。しかもパブリッシュは軽い。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package<span style="color: #66cc66;">&#123;</span>
&nbsp;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #66cc66;">*</span>;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> EmbedDF3 <span style="color: #0066CC;">extends</span> Sprite<span style="color: #66cc66;">&#123;</span>
&nbsp;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> EmbedDF3<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #808080; font-style: italic;">//SWCに埋め込んだフォントを利用</span>
			<span style="color: #000000; font-weight: bold;">var</span> embedFont:<span style="color: #0066CC;">Font</span>	= <span style="color: #000000; font-weight: bold;">new</span> HiraginoKakuGoProW3DF3<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//利用できる埋め込みフォントを確認</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: #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: #808080; font-style: italic;">//出力：Hiragino Kaku Gothic Pro W3</span>
			<span style="color: #66cc66;">&#125;</span>
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> str:<span style="color: #0066CC;">String</span>	= <span style="color: #ff0000;">&quot;SWCの埋め込みフォントを利用&quot;</span> + <span style="color: #ff0000;">&quot;<span style="color: #000099; font-weight: bold;">\n</span>&quot;</span>;
			str += <span style="color: #ff0000;">&quot;Hiragino Kaku Gothic Pro W3&quot;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> format:<span style="color: #0066CC;">TextFormat</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: #66cc66;">&#41;</span>;
			format.<span style="color: #0066CC;">font</span>	= embedFont.<span style="color: #006600;">fontName</span>;
			format.<span style="color: #0066CC;">color</span>= 0x999999;
&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: #006600;">defaultTextFormat</span>	= format;
			field.<span style="color: #006600;">x</span>		= <span style="color: #cc66cc;">25</span>;
			field.<span style="color: #006600;">y</span>		= <span style="color: #cc66cc;">25</span>;
			field.<span style="color: #0066CC;">width</span>	= <span style="color: #cc66cc;">200</span>;
			field.<span style="color: #0066CC;">height</span>= <span style="color: #cc66cc;">100</span>;
			field.<span style="color: #0066CC;">borderColor</span> = 0x999999;
			field.<span style="color: #0066CC;">border</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
			field.<span style="color: #0066CC;">multiline</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
			field.<span style="color: #0066CC;">wordWrap</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
			field.<span style="color: #0066CC;">embedFonts</span>= <span style="color: #000000; font-weight: bold;">true</span>;
			field.<span style="color: #0066CC;">text</span>	= str;
&nbsp;
			addChild<span style="color: #66cc66;">&#40;</span> field <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/08/embeddf3_2.gif" alt="" title="" width="475" height="150" class="aligncenter size-full wp-image-3742" /></p>
<p>ここまではいいんです。とっても便利。</p>
<p>しかし、flaに同じフォントを指定したテキストフィールドがあったとします。<br />
ここではステージにテキストフィールドを配置していますがどこにあっても同じ。<br />
このテキストフィールドのアンチエイリアスはデバイスフォントとしています。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/08/embeddf3_3.gif" alt="" title="" width="500" height="175" class="aligncenter size-full wp-image-3744" /></p>
<p>これで書き出すと、<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/08/embeddf3_4.gif" alt="" title="" width="475" height="150" class="aligncenter size-full wp-image-3747" /><br />
埋め込みフォントが利用できません。</p>
<p>どうも同名のフォントがあるとそちらが優先される模様。<br />
この時は、</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> 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: #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: #808080; font-style: italic;">//出力：無し（arr.length = 0）</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p>も出力されないので、埋め込みでない同名フォントが優先されているのかなと。</p>
<p>試しにステージに配置したテキストフィールドのアンチエイリアスを「アンチエイリアス（アニメーション優先）」とした場合、テキストフィールドに入っている文字だけが表示される。</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/08/embeddf3_5.gif" alt="" title="" width="475" height="150" class="aligncenter size-full wp-image-3749" /></p>
<p>traceの部分では、Hiragino Kaku Gothic Pro W3が出力されているんだけど、Flashが自動的に埋め込む、ステージに配置したテキストフィールドのフォントになっているんだと思う。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/cs5%e3%81%ae%e5%9f%8b%e3%82%81%e8%be%bc%e3%81%bf%e6%96%87%e5%ad%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>update takahiromiki.com</title>
		<link>http://blog.nipx.jp/2010/08/update-takahiromiki-com/</link>
		<comments>http://blog.nipx.jp/2010/08/update-takahiromiki-com/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 19:42:21 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3729</guid>
		<description><![CDATA[三木さんのサイトをプチアップデートしました。
Twitterのつぶやき表示を追加しました。あと新しい三木さんの作品が5点追加されています。
46のPVが個人的に好きな感じ。応援歌にぴったりな映像にぐっときてしまいました。 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.takahiromiki.com/">三木さんのサイト</a>をプチアップデートしました。<br />
Twitterのつぶやき表示を追加しました。あと新しい三木さんの作品が5点追加されています。<br />
46のPVが個人的に好きな感じ。応援歌にぴったりな映像にぐっときてしまいました。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/update-takahiromiki-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safari 5とSWFAddressの不具合の件</title>
		<link>http://blog.nipx.jp/2010/08/safari-5%e3%81%a8swfaddress%e3%81%ae%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%ae%e4%bb%b6/</link>
		<comments>http://blog.nipx.jp/2010/08/safari-5%e3%81%a8swfaddress%e3%81%ae%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%ae%e4%bb%b6/#comments</comments>
		<pubDate>Wed, 25 Aug 2010 04:50:07 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[SWFAddress]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3722</guid>
		<description><![CDATA[前にエントリーした不具合の件、公式に載っていました。
SWFAddress.back() doesn&#8217;t work in Safari 5
Safari 5とDebugger バージョンのFlash Play [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.nipx.jp/2010/08/safari/">前にエントリー</a>した不具合の件、公式に載っていました。<br />
<a href="http://sourceforge.net/projects/swfaddress/forums/forum/630934/topic/3751888?message=8502566">SWFAddress.back() doesn&#8217;t work in Safari 5</a><br />
Safari 5とDebugger バージョンのFlash PlayerだとNGらしい。試しに通常バージョンのFlash Playerにしたらちゃんと動いていた。作る人はDebuggerのほう使うだろうに。めんどくさい話だなぁ&#8230;。<br />
ちなみにSWFAddress 2.1まで落とすとDebuggerでも動く。なんでって話だけど調べる気にはなれん&#8230;。一概にSafari 5のせいとも言えない話でした。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/safari-5%e3%81%a8swfaddress%e3%81%ae%e4%b8%8d%e5%85%b7%e5%90%88%e3%81%ae%e4%bb%b6/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BLACKOPERATOR Collaborated 01</title>
		<link>http://blog.nipx.jp/2010/08/blackoperator-collaborated-01/</link>
		<comments>http://blog.nipx.jp/2010/08/blackoperator-collaborated-01/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 15:12:55 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3713</guid>
		<description><![CDATA[
ファッションブランド、BLACKOPERATORの新作がWebで公開されました。
RAIDSYSTEM、およびWORLDS END GIRLFRIENDとコラボレーションしたT-Shirtsがリリースされています。
W [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blackoperator.com/#/collection/collaborated01/"><img src="http://blog.nipx.jp/wp-content/uploads/2010/08/BOCollaborated01.jpg" alt="" title="" width="500" height="410" class="aligncenter size-full wp-image-3714" /></a><br />
ファッションブランド、<a href="http://blackoperator.com/">BLACKOPERATOR</a>の新作がWebで公開されました。<br />
<a href="http://raids.jp/?p=324">RAIDSYSTEM</a>、および<a href="http://www.worlds-end-girlfriend.org">WORLDS END GIRLFRIEND</a>とコラボレーションしたT-Shirtsがリリースされています。</p>
<p>Webのコンテンツは今回も<a href="http://www.nssgraphica.com/">nssgraphica</a>町田さんとのお仕事で、僕は引き続きFlashをやらせていただきました。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/blackoperator-collaborated-01/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>選択範囲の境界線を描くまで</title>
		<link>http://blog.nipx.jp/2010/08/%e9%81%b8%e6%8a%9e%e7%af%84%e5%9b%b2%e3%81%ae%e5%a2%83%e7%95%8c%e7%b7%9a%e3%82%92%e6%8f%8f%e3%81%8f%e3%81%be%e3%81%a7/</link>
		<comments>http://blog.nipx.jp/2010/08/%e9%81%b8%e6%8a%9e%e7%af%84%e5%9b%b2%e3%81%ae%e5%a2%83%e7%95%8c%e7%b7%9a%e3%82%92%e6%8f%8f%e3%81%8f%e3%81%be%e3%81%a7/#comments</comments>
		<pubDate>Wed, 11 Aug 2010 16:02:14 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

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

選択範囲の境界線 &#8211; wonderfl build flash online

Photoshopで選択範囲を取ったときの点線の輪郭線を描きたくて試した方法。
輪郭線を描きたい対象を透明なBitmapDa [...]]]></description>
			<content:encoded><![CDATA[<div style="width:465px; margin:0px auto">
<script type="text/javascript" src="http://wonderfl.net/blogparts/wGEu/js"></script>
<p class="ttlBpWonderfl" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://wonderfl.net/c/wGEu" title="選択範囲の境界線">選択範囲の境界線 &#8211; wonderfl build flash online</a></p>
</div>
<p>Photoshopで選択範囲を取ったときの点線の輪郭線を描きたくて試した方法。</p>
<p>輪郭線を描きたい対象を透明なBitmapDataにdrawする。<br />
輪郭を得るために一旦このBitmapDataを透明と黒100%で二値化する。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> rect:Rectangle = <span style="color: #000000; font-weight: bold;">new</span> Rectangle<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">200</span>, <span style="color: #cc66cc;">200</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> master:BitmapData = <span style="color: #000000; font-weight: bold;">new</span> BitmapData<span style="color: #66cc66;">&#40;</span> rect.<span style="color: #0066CC;">width</span>, rect.<span style="color: #0066CC;">height</span>, <span style="color: #000000; font-weight: bold;">true</span>, 0x00000000 <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> pt:Point = <span style="color: #000000; font-weight: bold;">new</span> Point<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
master.<span style="color: #006600;">draw</span><span style="color: #66cc66;">&#40;</span> container <span style="color: #66cc66;">&#41;</span>;
master.<span style="color: #006600;">threshold</span><span style="color: #66cc66;">&#40;</span> master, rect, pt,<span style="color: #ff0000;">&quot;&gt;&quot;</span>,0x00000000, 0xFF000000, 0xFFFFFFFF, <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>エッジ部分のアンチエイリアスも含めて輪郭としたかったんで、ここでは透明以外のピクセルはすべて黒100%にしているけど0&#215;00000000を変更すれば、輪郭に含むアンチエイリアスの許容値を調整できる。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/08/select0.gif" alt="" title="" width="400" height="200" class="aligncenter size-full wp-image-3676" /><br />
元の文字と二値化した文字。</p>
<p><br/><br />
二値化したBitmapDataを複製しておく。元のBitmapDataにConvolutionFilterを適用。<br />
以下のマトリックスで適用すると境界の内側、外側に1ピクセルずつ不透明ピクセルが出来て滲んだ画像になる。ConvolutionFilterって<a href="http://blog.nipx.jp/2009/09/convolutionfilterを軽く/">前にエントリー書いた</a>けど、なるほどこんなケースで使えるんだなぁと思いました。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> convolution:ConvolutionFilter	= <span style="color: #000000; font-weight: bold;">new</span> ConvolutionFilter<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">3</span>,<span style="color: #cc66cc;">3</span>,
	<span style="color: #66cc66;">&#91;</span>
		<span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>,
		<span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>,
		<span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>, <span style="color: #cc66cc;">1</span>
	<span style="color: #66cc66;">&#93;</span>, <span style="color: #cc66cc;">9</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">var</span> clone:BitmapData	= master.<span style="color: #006600;">clone</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
master.<span style="color: #006600;">applyFilter</span><span style="color: #66cc66;">&#40;</span> master, rect, pt, convolution <span style="color: #66cc66;">&#41;</span>;
master.<span style="color: #006600;">draw</span><span style="color: #66cc66;">&#40;</span> clone <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>次に滲んだBitmapDataに複製しておいたBitmapDataをdrawする。これで輪郭の外側1ピクセルが滲んだ状態になる。<br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/08/select1.gif" alt="" title="" width="400" height="200" class="aligncenter size-full wp-image-3689" /><br />
輪郭の内側・外側が滲んだ文字と、輪郭の外側が滲んだ文字。<br />
<br/></p>
<p>輪郭の外側の滲んだ部分が選択範囲の境界線として使いたい部分なのでこれを取り出す。<br />
BitmapDataに対し今度は黒100%の部分を透明に置き換えた後、再度、透明と黒100%で二値化する。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">master.<span style="color: #006600;">threshold</span><span style="color: #66cc66;">&#40;</span> master, rect, pt,<span style="color: #ff0000;">&quot;==&quot;</span>,0xFF000000, 0x00000000, 0xFFFFFFFF, <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;
master.<span style="color: #006600;">threshold</span><span style="color: #66cc66;">&#40;</span> master, rect, pt,<span style="color: #ff0000;">&quot;&gt;&quot;</span> ,0x00000000, 0xFF000000, 0xFFFFFFFF, <span style="color: #000000; font-weight: bold;">false</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>これで選択範囲の境界線が出来た。</p>
<p>続いてチカチカ流れる部分。これ一時悩んだのですが（輪郭を時計回りに回っているものだと思った）よく見ると水平線は左から右へ、垂直線は上から下へ流れているだけ。難しく考え過ぎてた。斜めの線動かせばいんじゃない？ってYさんの一言で気づいた。<br />
斜め線のパターンを作ってBitmapDataのサイズ同じサイズでShapeを塗りつぶす。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> b:uint = 0xFF000000;
<span style="color: #000000; font-weight: bold;">var</span> pattern:BitmapData = <span style="color: #000000; font-weight: bold;">new</span> BitmapData<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">6</span>, <span style="color: #000000; font-weight: bold;">true</span>, 0x00000000 <span style="color: #66cc66;">&#41;</span>;
pattern.<span style="color: #006600;">setVector</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">new</span> Rectangle<span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">6</span>,<span style="color: #cc66cc;">6</span> <span style="color: #66cc66;">&#41;</span>,
	Vector.<span style="color: #66cc66;">&lt;</span>uint<span style="color: #66cc66;">&gt;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span>
		<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,b,b,b,
		<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,b,b,b,<span style="color: #cc66cc;">0</span>,
		<span style="color: #cc66cc;">0</span>,b,b,b,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
		b,b,b,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,
		b,b,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,b,
		b,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>,b,b
	<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> shape:Shape	= <span style="color: #000000; font-weight: bold;">new</span> Shape<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> g:Graphics	= shape.<span style="color: #006600;">graphics</span>;
g.<span style="color: #006600;">beginBitmapFill</span><span style="color: #66cc66;">&#40;</span> pattern <span style="color: #66cc66;">&#41;</span>;
g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>, rect.<span style="color: #0066CC;">width</span>, rect.<span style="color: #0066CC;">height</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/08/select2.gif" alt="" title="" width="400" height="200" class="aligncenter size-full wp-image-3693" /><br />
選択範囲の境界線と斜め線のパターン。</p>
<p><br/><br />
あとは斜め線のパターンを1ピクセルずつ動かしながら選択範囲の境界線に合成すれば、Photoshop風の点線境界線の完成です。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> matrix:Matrix = <span style="color: #000000; font-weight: bold;">new</span> Matrix<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
addEventListener<span style="color: #66cc66;">&#40;</span> Event.<span style="color: #006600;">ENTER_FRAME</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>
	matrix.<span style="color: #006600;">tx</span> = <span style="color: #66cc66;">&#40;</span> matrix.<span style="color: #006600;">tx</span> + <span style="color: #cc66cc;">1</span> <span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">%</span> <span style="color: #cc66cc;">6</span>;
	g.<span style="color: #0066CC;">clear</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
	g.<span style="color: #006600;">beginBitmapFill</span><span style="color: #66cc66;">&#40;</span> pattern, matrix <span style="color: #66cc66;">&#41;</span>;
	g.<span style="color: #006600;">drawRect</span><span style="color: #66cc66;">&#40;</span> <span style="color: #cc66cc;">0</span>,<span style="color: #cc66cc;">0</span>, rect.<span style="color: #0066CC;">width</span>, rect.<span style="color: #0066CC;">height</span> <span style="color: #66cc66;">&#41;</span>;
	outline.<span style="color: #006600;">fillRect</span><span style="color: #66cc66;">&#40;</span> rect, <span style="color: #cc66cc;">0</span> <span style="color: #66cc66;">&#41;</span>;
	outline.<span style="color: #006600;">draw</span><span style="color: #66cc66;">&#40;</span> master <span style="color: #66cc66;">&#41;</span>;
	outline.<span style="color: #006600;">draw</span><span style="color: #66cc66;">&#40;</span> shape, <span style="color: #000000; font-weight: bold;">null</span>, <span style="color: #000000; font-weight: bold;">null</span>, BlendMode.<span style="color: #006600;">ALPHA</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/08/select3.gif" alt="" title="" width="400" height="200" class="aligncenter size-full wp-image-3699" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/%e9%81%b8%e6%8a%9e%e7%af%84%e5%9b%b2%e3%81%ae%e5%a2%83%e7%95%8c%e7%b7%9a%e3%82%92%e6%8f%8f%e3%81%8f%e3%81%be%e3%81%a7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safari&#8230;</title>
		<link>http://blog.nipx.jp/2010/08/safari/</link>
		<comments>http://blog.nipx.jp/2010/08/safari/#comments</comments>
		<pubDate>Mon, 09 Aug 2010 15:28:21 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[SWFAddress]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3631</guid>
		<description><![CDATA[5.0.1になって、この間の画面が溶ける現象がなおったと思ったら、こんどはSWFAddressが効かなくなったような気が&#8230;。いい加減にしてほしい。
直リンクはOKですけど、ブラウザの戻る進むの時反応しなくない [...]]]></description>
			<content:encoded><![CDATA[<p>5.0.1になって、この間の<a href="http://blog.nipx.jp/2010/06/safari-5-0-で画面が溶ける/">画面が溶ける現象</a>がなおったと思ったら、こんどはSWFAddressが効かなくなったような気が&#8230;。いい加減にしてほしい。</p>
<p>直リンクはOKですけど、ブラウザの戻る進むの時反応しなくないですか？俺だけ？<br />
<a href="http://www.asual.com/swfaddress/samples/flash/">http://www.asual.com/swfaddress/samples/flash/</a></p>
<p>バージョン 5.0.1 (6533.17.8)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/safari/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>外部パートナー募集</title>
		<link>http://blog.nipx.jp/2010/08/%e5%a4%96%e9%83%a8%e3%83%91%e3%83%bc%e3%83%88%e3%83%8a%e3%83%bc%e5%8b%9f%e9%9b%86/</link>
		<comments>http://blog.nipx.jp/2010/08/%e5%a4%96%e9%83%a8%e3%83%91%e3%83%bc%e3%83%88%e3%83%8a%e3%83%bc%e5%8b%9f%e9%9b%86/#comments</comments>
		<pubDate>Wed, 04 Aug 2010 06:45:12 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[nipx]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3593</guid>
		<description><![CDATA[phpやperlのプログラマーの方で、一緒に仕事してもいいよ。
というフリーランス・個人の外部パートナーを募集しています。
サーバーサイドのプログラムが必要な案件では、こちらで対応しきれないことがあります。案件の数は多く [...]]]></description>
			<content:encoded><![CDATA[<p>phpやperlのプログラマーの方で、一緒に仕事してもいいよ。<br />
というフリーランス・個人の外部パートナーを募集しています。</p>
<p>サーバーサイドのプログラムが必要な案件では、こちらで対応しきれないことがあります。案件の数は多くないけど、そんな話があった時に見積もりレベルから気軽に相談できる方がいたらいいなと。もちろん逆にFlashやデザインが必要な時には相談に乗らせていただきますので。</p>
<p>それほど複雑な案件は過去ありませんので、企業キャンペーンサイトのクライアント案件実績があればスキルよりも誠実・堅実・責任感のある方で都内で打ち合わせ可能な方。<br />
よかったらご連絡ください。まずは一度お会いしてみませんか。<br />
気が合いそうでしたら一緒に仕事をしましょう。</p>
<p><a href="mailto:info@nipx.jp">info@nipx.jp</a></p>
<p>【過去にあった具体的な案件例】<br />
Twitter APIを操作したい。<br />
サーバーサイドで画像生成したい。<br />
ゲームのハイスコアを記録したい。<br />
トラックバックを集計したい。<br />
MTやWPのカスタマイズなどで簡易CMSにしたい。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/08/%e5%a4%96%e9%83%a8%e3%83%91%e3%83%bc%e3%83%88%e3%83%8a%e3%83%bc%e5%8b%9f%e9%9b%86/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashだけでファイルをダウンロードさせる</title>
		<link>http://blog.nipx.jp/2010/07/flash%e3%81%a0%e3%81%91%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%95%e3%81%9b%e3%82%8b/</link>
		<comments>http://blog.nipx.jp/2010/07/flash%e3%81%a0%e3%81%91%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%95%e3%81%9b%e3%82%8b/#comments</comments>
		<pubDate>Fri, 23 Jul 2010 11:18:48 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3585</guid>
		<description><![CDATA[flash on 2010-7-23 &#8211; wonderfl build flash online]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;width:465px;margin:0 auto"><iframe title="flash on 2010-7-23 - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/gKIt" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/c/gKIt" title="flash on 2010-7-23 - wonderfl build flash online">flash on 2010-7-23 &#8211; wonderfl build flash online</a></div>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/07/flash%e3%81%a0%e3%81%91%e3%81%a7%e3%83%95%e3%82%a1%e3%82%a4%e3%83%ab%e3%82%92%e3%83%80%e3%82%a6%e3%83%b3%e3%83%ad%e3%83%bc%e3%83%89%e3%81%95%e3%81%9b%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TLFTextField独習 その2</title>
		<link>http://blog.nipx.jp/2010/07/tlftextfield%e7%8b%ac%e7%bf%92-%e3%81%9d%e3%81%ae2/</link>
		<comments>http://blog.nipx.jp/2010/07/tlftextfield%e7%8b%ac%e7%bf%92-%e3%81%9d%e3%81%ae2/#comments</comments>
		<pubDate>Thu, 08 Jul 2010 10:29:13 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3552</guid>
		<description><![CDATA[Photoshopで文字組したPSDファイルをFlashに読み込んだ時の再現性を確認してみた。
TextFieldでインポートされていた前バージョンと比べれば良くなっているんだけど、まだ調整無しで使うのは厳しいっぽいなぁ [...]]]></description>
			<content:encoded><![CDATA[<p>Photoshopで文字組したPSDファイルをFlashに読み込んだ時の再現性を確認してみた。<br />
TextFieldでインポートされていた前バージョンと比べれば良くなっているんだけど、まだ調整無しで使うのは厳しいっぽいなぁと。</p>
<p>確認してみたのは以下のパターン。<br />
Photoshopで2書体混在、カーニングをメトリックス、左揃え、赤字の箇所を字詰めしたポイントテキスト。<br />
<br/></p>
<p>・元のPSD<br />
<img style="border-style:solid;border-color:#CCCCCC;border-width:1px" src="http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldImport.gif" alt="" title="" width="500" height="550" class="aligncenter size-full wp-image-3553" /></p>
<p>このPSDをFlashにインポートしてみる。書き出したSWFのスクリーンショットを元のPSDに重ねてみたのがこれ。</p>
<p><br/></p>
<p>・TLFTextFieldでのインポート<br />
<a title="TLFTextFieldでのインポート" rel="shadowbox;width=500;height=550;options={flashParams:'#ffffff'}" href='http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldImport.swf'><br />
<img style="border-style:solid;border-color:#CCCCCC;border-width:1px" src="http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldImport1.gif" alt="" title="" width="500" height="550" class="aligncenter size-full wp-image-3557" /></a></p>
<p>「TLFTextFieldで美しい日本語。」以外はビットマップになっているのでズレない。<br />
TLFTextFieldには文字を埋め込んだ以外（自動カーニングがあるので）は、インポートした状態からいじっていない。</p>
<p>淡い方が元のPSDの位置。全体的に下に移動している。<br />
字詰め自体はほぼ正しく反映されているように見えるんだけど、字詰め前の段階からして文字間隔が変わっちゃってるところもある。PSD側の自動カーニング（メトリックスなど）を使わない場合はもう少しズレが減る感じでした。</p>
<p>試しに同じPSDをCS5でPlayer9ターゲットのflaにしてTextFieldでインポートしたのがこちら。</p>
<p><br/></p>
<p>・TextFieldでのインポート<br />
<a title="TextFieldでのインポート" rel="shadowbox;width=500;height=550;options={flashParams:'#ffffff'}" href='http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldImportFL9.swf'><br />
<img style="border-style:solid;border-color:#CCCCCC;border-width:1px" src="http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldImportPL9.gif" alt="" title="" width="500" height="550" class="aligncenter size-full wp-image-3559" /></a></p>
<p>こちらはぜんぜん字詰めが生きていない。上下位置はズレなかったりするんだけども。</p>
<p>この後、ブロックテキストで均等配置にしたPSDなども試したんですけど、再現性はさらに悪くなる感じでしたので、このあたりであきらめ&#8230;。レイアウトの再現性は微妙な感じがしますがTLFTextFieldでインポートした場合、字詰めなど書式を変更した箇所はTextFlowの構造に反映されます。この点は凄いんじゃないかと思う。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #66cc66;">&lt;</span>TextFlow alignmentBaseline=<span style="color: #ff0000;">&quot;useDominantBaseline&quot;</span> blockProgression=<span style="color: #ff0000;">&quot;tb&quot;</span> columnCount=<span style="color: #ff0000;">&quot;inherit&quot;</span> columnGap=<span style="color: #ff0000;">&quot;inherit&quot;</span> columnWidth=<span style="color: #ff0000;">&quot;inherit&quot;</span> direction=<span style="color: #ff0000;">&quot;ltr&quot;</span> dominantBaseline=<span style="color: #ff0000;">&quot;auto&quot;</span> fontLookup=<span style="color: #ff0000;">&quot;embeddedCFF&quot;</span> lineBreak=<span style="color: #ff0000;">&quot;explicit&quot;</span> paddingBottom=<span style="color: #ff0000;">&quot;inherit&quot;</span> paddingLeft=<span style="color: #ff0000;">&quot;inherit&quot;</span> paddingRight=<span style="color: #ff0000;">&quot;inherit&quot;</span> paddingTop=<span style="color: #ff0000;">&quot;inherit&quot;</span> paragraphEndIndent=<span style="color: #ff0000;">&quot;0&quot;</span> paragraphSpaceAfter=<span style="color: #ff0000;">&quot;0&quot;</span> paragraphSpaceBefore=<span style="color: #ff0000;">&quot;0&quot;</span> paragraphStartIndent=<span style="color: #ff0000;">&quot;0&quot;</span> textAlign=<span style="color: #ff0000;">&quot;start&quot;</span> textIndent=<span style="color: #ff0000;">&quot;0&quot;</span> verticalAlign=<span style="color: #ff0000;">&quot;inherit&quot;</span> whiteSpaceCollapse=<span style="color: #ff0000;">&quot;preserve&quot;</span> xmlns=<span style="color: #ff0000;">&quot;http://ns.adobe.com/textLayout/2008&quot;</span><span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;</span>p baselineShift=<span style="color: #ff0000;">&quot;0&quot;</span> breakOpportunity=<span style="color: #ff0000;">&quot;auto&quot;</span> <span style="color: #0066CC;">color</span>=<span style="color: #ff0000;">&quot;#000000&quot;</span> digitCase=<span style="color: #ff0000;">&quot;default&quot;</span> digitWidth=<span style="color: #ff0000;">&quot;default&quot;</span> direction=<span style="color: #ff0000;">&quot;ltr&quot;</span> fontFamily=<span style="color: #ff0000;">&quot;小塚ゴシック Pro R&quot;</span> fontSize=<span style="color: #ff0000;">&quot;60&quot;</span> fontStyle=<span style="color: #ff0000;">&quot;normal&quot;</span> fontWeight=<span style="color: #ff0000;">&quot;normal&quot;</span> ligatureLevel=<span style="color: #ff0000;">&quot;common&quot;</span> lineHeight=<span style="color: #ff0000;">&quot;72&quot;</span> lineThrough=<span style="color: #ff0000;">&quot;false&quot;</span> locale=<span style="color: #ff0000;">&quot;en&quot;</span> textAlpha=<span style="color: #ff0000;">&quot;1&quot;</span> textDecoration=<span style="color: #ff0000;">&quot;none&quot;</span> textRotation=<span style="color: #ff0000;">&quot;auto&quot;</span> trackingRight=<span style="color: #ff0000;">&quot;0%&quot;</span> typographicCase=<span style="color: #ff0000;">&quot;default&quot;</span><span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span><span style="color: #66cc66;">&gt;</span>TLF<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span> trackingRight=<span style="color: #ff0000;">&quot;-10%&quot;</span><span style="color: #66cc66;">&gt;</span>T<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span><span style="color: #66cc66;">&gt;</span>ext<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span> trackingRight=<span style="color: #ff0000;">&quot;-2%&quot;</span><span style="color: #66cc66;">&gt;</span>F<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span><span style="color: #66cc66;">&gt;</span>ield<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontFamily=<span style="color: #ff0000;">&quot;小塚明朝 Pro M&quot;</span> fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span><span style="color: #66cc66;">&gt;</span>で<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;/</span>p<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;</span>p baselineShift=<span style="color: #ff0000;">&quot;0&quot;</span> breakOpportunity=<span style="color: #ff0000;">&quot;auto&quot;</span> <span style="color: #0066CC;">color</span>=<span style="color: #ff0000;">&quot;#000000&quot;</span> digitCase=<span style="color: #ff0000;">&quot;default&quot;</span> digitWidth=<span style="color: #ff0000;">&quot;default&quot;</span> direction=<span style="color: #ff0000;">&quot;ltr&quot;</span> fontFamily=<span style="color: #ff0000;">&quot;小塚明朝 Pro M&quot;</span> fontSize=<span style="color: #ff0000;">&quot;60&quot;</span> fontStyle=<span style="color: #ff0000;">&quot;normal&quot;</span> fontWeight=<span style="color: #ff0000;">&quot;normal&quot;</span> ligatureLevel=<span style="color: #ff0000;">&quot;common&quot;</span> lineHeight=<span style="color: #ff0000;">&quot;72&quot;</span> lineThrough=<span style="color: #ff0000;">&quot;false&quot;</span> locale=<span style="color: #ff0000;">&quot;en&quot;</span> textAlpha=<span style="color: #ff0000;">&quot;1&quot;</span> textDecoration=<span style="color: #ff0000;">&quot;none&quot;</span> textRotation=<span style="color: #ff0000;">&quot;auto&quot;</span> trackingRight=<span style="color: #ff0000;">&quot;0%&quot;</span> typographicCase=<span style="color: #ff0000;">&quot;default&quot;</span><span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span><span style="color: #66cc66;">&gt;</span>美し<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span> trackingRight=<span style="color: #ff0000;">&quot;-4%&quot;</span><span style="color: #66cc66;">&gt;</span>い<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span> trackingRight=<span style="color: #ff0000;">&quot;-6%&quot;</span><span style="color: #66cc66;">&gt;</span>日<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span> trackingRight=<span style="color: #ff0000;">&quot;2%&quot;</span><span style="color: #66cc66;">&gt;</span>本<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
    <span style="color: #66cc66;">&lt;</span>span fontLookup=<span style="color: #ff0000;">&quot;inherit&quot;</span><span style="color: #66cc66;">&gt;</span>語。<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;</span>
  <span style="color: #66cc66;">&lt;/</span>p<span style="color: #66cc66;">&gt;</span>
<span style="color: #66cc66;">&lt;/</span>TextFlow<span style="color: #66cc66;">&gt;</span></pre></div></div>

<p>ちなみに、PSDで文字間の字詰めをする時はカーニング（普通こっちを使うと思うけど）ではなくトラッキングを使って字詰めをしたほうがインポートの結果はよさそうです。</p>
<p><br/></p>
<p>・カーニングを使って字詰めしたPSDのインポート<br />
<a title="カーニングを使って字詰めしたPSDのインポート" rel="shadowbox;width=500;height=550;options={flashParams:'#ffffff'}" href='http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldImportKerning.swf'><br />
<img style="border-style:solid;border-color:#CCCCCC;border-width:1px" src="http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldImportKerning.gif" alt="" title="" width="500" height="550" class="aligncenter size-full wp-image-3566" /></a></p>
<p>カーニングだとなんかむちゃくちゃ。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/07/tlftextfield%e7%8b%ac%e7%bf%92-%e3%81%9d%e3%81%ae2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>TLFTextField独習</title>
		<link>http://blog.nipx.jp/2010/07/tlftextfield%e7%8b%ac%e7%bf%92/</link>
		<comments>http://blog.nipx.jp/2010/07/tlftextfield%e7%8b%ac%e7%bf%92/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 10:25:18 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3485</guid>
		<description><![CDATA[ご存知の通り、Flash CS5からテキストフィールドは従来のTextFieldと、Text Layout Frameworkを実装したTLFTextFieldが扱えるようになりました。
Text Layout Fram [...]]]></description>
			<content:encoded><![CDATA[<p>ご存知の通り、Flash CS5からテキストフィールドは従来のTextFieldと、Text Layout Frameworkを実装したTLFTextFieldが扱えるようになりました。<br />
Text Layout Frameworkは、Flash Player 10から実装されているFlash Text Engineを扱いやすいようにコンポーネント化したフレームワークなんだけど、Flash Text Engineはもとい、Text Layout Frameworkすらも、もうわけわからないってくらい、プロパティ、メソッドが多すぎて痺れます。</p>
<p>しかし、強力なテキスト管理機能を有した新しいテキストエンジンが今後の主流になっていくだろうし、テキストの扱いは地味ながら間違いなく多用するものなので習得せにゃならんだろうと思います。<br />
という訳で、使える機会があれば少しづつ移行しているのだけれど、新しいものってことで実際にコケたところや試したことをエントリーしていこうかと。</p>
<p>とりあえず、先日転んだところで、TLFTextFieldのこと。<br />
TLFTextFieldに関しては、正直今までのTextFieldと変わらないじゃん！わけないよ！くらいに思っていたら、小一時間悩み続けていたという話。</p>
<p><br/></p>
<p>TextFieldでは、一部HTMLのタグが使えました。さらにスタイルシートによる、一部スタイルの指定ができました。<br />
たとえばこんな感じ。aタグにスタイルを指定して、linkとlink:hoverにカラーを適用できます。Flashで外部更新可能なニュースを作ったりする時に使いますよね。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package<span style="color: #66cc66;">&#123;</span>
&nbsp;
&nbsp;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #66cc66;">*</span>;
&nbsp;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TextFieldStyle <span style="color: #0066CC;">extends</span> Sprite<span style="color: #66cc66;">&#123;</span>
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> TextFieldStyle<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreComments</span> 		= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreProcessingInstructions</span>= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreWhitespace</span>		= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyIndent</span>		= <span style="color: #cc66cc;">0</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyPrinting</span>		= <span style="color: #000000; font-weight: bold;">false</span>;
			<span style="color: #000000; font-weight: bold;">var</span> doc:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>div<span style="color: #66cc66;">&gt;</span>これは<span style="color: #0066CC;">TextField</span>です。ここを押すと<span style="color: #66cc66;">&lt;</span>a href=<span style="color: #ff0000;">&quot;http://blog.nipx.jp&quot;</span> <span style="color: #0066CC;">target</span>=<span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #66cc66;">&gt;</span>リンク<span style="color: #66cc66;">&lt;/</span>a<span style="color: #66cc66;">&gt;</span>します。<span style="color: #66cc66;">&lt;/</span>div<span style="color: #66cc66;">&gt;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> style:StyleSheet	= <span style="color: #000000; font-weight: bold;">new</span> StyleSheet<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			style.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;a&quot;</span>,<span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">color</span>:<span style="color: #ff0000;">&quot;#4371A0&quot;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
			style.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;a:hover&quot;</span>,<span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">color</span>:<span style="color: #ff0000;">&quot;#6F8F0F&quot;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</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: #006600;">x</span>			= <span style="color: #cc66cc;">250</span>;
			field.<span style="color: #006600;">y</span>			= <span style="color: #cc66cc;">10</span>;
			field.<span style="color: #0066CC;">width</span>		= <span style="color: #cc66cc;">0</span>;
			field.<span style="color: #0066CC;">height</span>		= <span style="color: #cc66cc;">0</span>;
			field.<span style="color: #0066CC;">autoSize</span>		= TextFieldAutoSize.<span style="color: #006600;">CENTER</span>;
			field.<span style="color: #0066CC;">wordWrap</span>		= <span style="color: #000000; font-weight: bold;">false</span>;
			field.<span style="color: #0066CC;">condenseWhite</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
			field.<span style="color: #006600;">styleSheet</span>	= style;
			field.<span style="color: #0066CC;">htmlText</span>		= doc.<span style="color: #0066CC;">toString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			addChild<span style="color: #66cc66;">&#40;</span> field <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><a title="TextFieldのスタイル" rel="shadowbox;width=500;height=40;options={flashParams:'#ffffff'}"   href='http://blog.nipx.jp/wp-content/uploads/2010/07/TextFieldStyle.swf'><img src="http://blog.nipx.jp/wp-content/uploads/2010/07/TextFieldStyle.png" alt="" title="TextFieldStyle" width="500" height="40" class="aligncenter size-full wp-image-3493" /></a></p>
<p><br/></p>
<p>TLFTextFieldでも同じようにHTMLタグが利用できます。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package<span style="color: #66cc66;">&#123;</span>
&nbsp;
&nbsp;
	<span style="color: #0066CC;">import</span> fl.<span style="color: #0066CC;">text</span>.<span style="color: #006600;">TLFTextField</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #66cc66;">*</span>;
&nbsp;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TLFTextFieldStyle <span style="color: #0066CC;">extends</span> Sprite<span style="color: #66cc66;">&#123;</span>
&nbsp;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> TLFTextFieldStyle<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreComments</span> 		= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreProcessingInstructions</span>= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreWhitespace</span>		= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyIndent</span>		= <span style="color: #cc66cc;">0</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyPrinting</span>		= <span style="color: #000000; font-weight: bold;">false</span>;
			<span style="color: #000000; font-weight: bold;">var</span> doc:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>div<span style="color: #66cc66;">&gt;</span>これはTLFTextFieldです。ここを押すと<span style="color: #66cc66;">&lt;</span>a href=<span style="color: #ff0000;">&quot;http://blog.nipx.jp&quot;</span> <span style="color: #0066CC;">target</span>=<span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #66cc66;">&gt;</span>リンク<span style="color: #66cc66;">&lt;/</span>a<span style="color: #66cc66;">&gt;</span>します。<span style="color: #66cc66;">&lt;/</span>div<span style="color: #66cc66;">&gt;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> style:StyleSheet	= <span style="color: #000000; font-weight: bold;">new</span> StyleSheet<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			style.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;a&quot;</span>,<span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">color</span>:<span style="color: #ff0000;">&quot;#4371A0&quot;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
			style.<span style="color: #0066CC;">setStyle</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;a:hover&quot;</span>,<span style="color: #66cc66;">&#123;</span> <span style="color: #0066CC;">color</span>:<span style="color: #ff0000;">&quot;#6F8F0F&quot;</span> <span style="color: #66cc66;">&#125;</span> <span style="color: #66cc66;">&#41;</span>;
&nbsp;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> field:TLFTextField	= <span style="color: #000000; font-weight: bold;">new</span> TLFTextField<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			field.<span style="color: #006600;">x</span>			= <span style="color: #cc66cc;">250</span>;
			field.<span style="color: #006600;">y</span>			= <span style="color: #cc66cc;">10</span>;
			field.<span style="color: #0066CC;">width</span>		= <span style="color: #cc66cc;">0</span>;
			field.<span style="color: #0066CC;">height</span>		= <span style="color: #cc66cc;">0</span>;
			field.<span style="color: #0066CC;">autoSize</span>		= TextFieldAutoSize.<span style="color: #006600;">CENTER</span>;
			field.<span style="color: #0066CC;">wordWrap</span>		= <span style="color: #000000; font-weight: bold;">false</span>;
			field.<span style="color: #0066CC;">condenseWhite</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
			field.<span style="color: #006600;">styleSheet</span>	= style;
			field.<span style="color: #0066CC;">htmlText</span>		= doc.<span style="color: #006600;">toXMLString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			addChild<span style="color: #66cc66;">&#40;</span> field <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><a title="TLFTextFieldのスタイル" rel="shadowbox;width=500;height=40;options={flashParams:'#ffffff'}"   href='http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldStyle.swf'><img src="http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldStyle.png" alt="" title="TLFTextFieldStyle" width="500" height="40" class="aligncenter size-full wp-image-3511" /></a></p>
<p><br/></p>
<p>しかし、aタグのスタイル指定が適用されていません。そうTLFTextFieldは、TextFieldと共通の使い勝手の同じプロパティが多数あるけど、中身は別物。styleSheetプロパティについては、</p>
<div style="background-color:#eeeeee">
<em><a href="http://help.adobe.com/ja_JP/Flash/CS5/AS3LR/fl/text/TLFTextField.html#styleSheet">TLF TextField では、スタイルシートはサポートされません。常に null が返され、スタイルシートを設定してもすべて無視されます。</a><br />
</em>
</div>
<p>ってことで、styleSheetのプロパティはあるけれど常に無意味。スタイルシートはサポートされない。<br />
そもそも、HTMLタグはサポートされるものの、TLFTextFieldのhtmlTextでは、</p>
<div style="background-color:#eeeeee">
<em><a href="http://help.adobe.com/ja_JP/Flash/CS5/AS3LR/fl/text/TLFTextField.html#htmlText">注意：TextField クラスと異なり、ActionScript の link イベントはサポートされません。a:link、a:hover、a:active スタイルもサポートされません。</a><br />
</em>
</div>
<p>aタグの疑似クラスからしてサポートされていないみたい。<br />
ええ！？それじゃあ劣化してんじゃん？って思うのは浅はかだったというもの。そこはしっかりText Layout Frameworkでサポートされています。魔のText Layout Frameworkで。<br />
TLFTextField.textFlowのプロパティにそれらしきものを見つけたところから迷走しだす。</p>
<p>一連のヘルプを読み、<br />
<a href="http://help.adobe.com/ja_JP/as3/dev/WS14c3067b34b57c6d4a97343b122ab36a52f-7ffc.html">Text Layout Framework の使用</a></p>
<p>野中先生の解説を読み、<br />
<a href="http://www.adobe.com/jp/devnet/flash/articles/actionscript30_cs5_tlf01.html">ActionScript 3.0でFlash Professional CS5の Text Layout Frameworkを使う</a></p>
<p>TLFTextField.textFlowのTextFlowを直接定義したり入れ替えたりと散々まさぐって、それで今回の指定はできたんですけど、なんともまどろっこしい。TLFTextField使う意味ないじゃん！<br />
後にそんなことをせずとも出来ることに気づいた。</p>
<p>TLFTextField.tlfMarkupプロパティ。あるじゃん！これに記述を入れれば出来ました。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">package<span style="color: #66cc66;">&#123;</span>
&nbsp;
&nbsp;
	<span style="color: #0066CC;">import</span> fl.<span style="color: #0066CC;">text</span>.<span style="color: #006600;">TLFTextField</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #006600;">display</span>.<span style="color: #006600;">Sprite</span>;
	<span style="color: #0066CC;">import</span> flash.<span style="color: #0066CC;">text</span>.<span style="color: #66cc66;">*</span>;
&nbsp;
	<span style="color: #0066CC;">import</span> flashx.<span style="color: #006600;">textLayout</span>.<span style="color: #006600;">conversion</span>.<span style="color: #66cc66;">*</span>;
	<span style="color: #0066CC;">import</span> flashx.<span style="color: #006600;">textLayout</span>.<span style="color: #006600;">elements</span>.<span style="color: #006600;">TextFlow</span>;
	<span style="color: #0066CC;">import</span> flashx.<span style="color: #006600;">textLayout</span>.<span style="color: #006600;">formats</span>.<span style="color: #006600;">TextLayoutFormat</span>;
&nbsp;
&nbsp;
	<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">class</span> TLFTextFieldStyle1 <span style="color: #0066CC;">extends</span> Sprite<span style="color: #66cc66;">&#123;</span>
&nbsp;
&nbsp;
		<span style="color: #0066CC;">public</span> <span style="color: #000000; font-weight: bold;">function</span> TLFTextFieldStyle1<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreComments</span> 		= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreProcessingInstructions</span>= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">ignoreWhitespace</span>		= <span style="color: #000000; font-weight: bold;">true</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyIndent</span>		= <span style="color: #cc66cc;">0</span>;
			<span style="color: #0066CC;">XML</span>.<span style="color: #006600;">prettyPrinting</span>		= <span style="color: #000000; font-weight: bold;">false</span>;
			<span style="color: #000000; font-weight: bold;">var</span> doc:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>div<span style="color: #66cc66;">&gt;</span>これはTLFTextFieldです。ここを押すと<span style="color: #66cc66;">&lt;</span>a href=<span style="color: #ff0000;">&quot;http://blog.nipx.jp&quot;</span> <span style="color: #0066CC;">target</span>=<span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #66cc66;">&gt;</span>リンク<span style="color: #66cc66;">&lt;/</span>a<span style="color: #66cc66;">&gt;</span>します。<span style="color: #66cc66;">&lt;/</span>div<span style="color: #66cc66;">&gt;</span>;
&nbsp;
			<span style="color: #000000; font-weight: bold;">var</span> field:TLFTextField	= <span style="color: #000000; font-weight: bold;">new</span> TLFTextField<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			field.<span style="color: #006600;">x</span>			= <span style="color: #0066CC;">stage</span>.<span style="color: #006600;">stageWidth</span><span style="color: #66cc66;">/</span><span style="color: #cc66cc;">2</span>;
			field.<span style="color: #006600;">y</span>			= <span style="color: #cc66cc;">10</span>;
			field.<span style="color: #0066CC;">width</span>		= <span style="color: #cc66cc;">0</span>;
			field.<span style="color: #0066CC;">height</span>		= <span style="color: #cc66cc;">0</span>;
			field.<span style="color: #0066CC;">autoSize</span>		= TextFieldAutoSize.<span style="color: #006600;">CENTER</span>;
			field.<span style="color: #0066CC;">wordWrap</span>		= <span style="color: #000000; font-weight: bold;">false</span>;
			field.<span style="color: #0066CC;">multiline</span>		= <span style="color: #000000; font-weight: bold;">false</span>;
			field.<span style="color: #0066CC;">condenseWhite</span>	= <span style="color: #000000; font-weight: bold;">true</span>;
&nbsp;
			<span style="color: #808080; font-style: italic;">//変換</span>
			<span style="color: #000000; font-weight: bold;">var</span> flow:TextFlow	= TextConverter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> doc.<span style="color: #006600;">toXMLString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>, TextConverter.<span style="color: #006600;">TEXT_FIELD_HTML_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
			<span style="color: #000000; font-weight: bold;">var</span> markup:<span style="color: #0066CC;">XML</span>	= TextConverter.<span style="color: #006600;">export</span><span style="color: #66cc66;">&#40;</span> flow, TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span>, ConversionType.<span style="color: #006600;">XML_TYPE</span> <span style="color: #66cc66;">&#41;</span> as <span style="color: #0066CC;">XML</span>;
			field.<span style="color: #006600;">tlfMarkup</span>	= markup;
&nbsp;
			<span style="color: #808080; font-style: italic;">//リンクフォーマット</span>
			<span style="color: #000000; font-weight: bold;">var</span> linkNormalFormat:TextLayoutFormat	= <span style="color: #000000; font-weight: bold;">new</span> TextLayoutFormat<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			linkNormalFormat.<span style="color: #0066CC;">color</span>					= 0x4371A0;
			<span style="color: #000000; font-weight: bold;">var</span> linkHoverFormat:TextLayoutFormat	= <span style="color: #000000; font-weight: bold;">new</span> TextLayoutFormat<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			linkHoverFormat.<span style="color: #0066CC;">color</span>					= 0x6F8F0F;
			field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">linkNormalFormat</span>	= linkNormalFormat;
			field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">linkHoverFormat</span>	= linkHoverFormat;
&nbsp;
			<span style="color: #808080; font-style: italic;">//更新</span>
			field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">invalidateAllFormats</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
			field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">updateAllControllers</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
			addChild<span style="color: #66cc66;">&#40;</span> field <span style="color: #66cc66;">&#41;</span>;
		<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
	<span style="color: #66cc66;">&#125;</span>
<span style="color: #66cc66;">&#125;</span></pre></div></div>

<p><a title="TLFTextFieldのスタイル" rel="shadowbox;width=500;height=40;options={flashParams:'#ffffff'}"   href='http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldStyle1.swf'><img src="http://blog.nipx.jp/wp-content/uploads/2010/07/TLFTextFieldStyle1.png" alt="" title="TLFTextFieldStyle1" width="500" height="40" class="aligncenter size-full wp-image-3540" /></a></p>
<p><br/></p>
<p>とりあえず今回要件を満たすには、テキストはTextLayout マークアップ形式で記述する必要があります。<br />
この形式で記述するなら、たとえば、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> doc:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>TextFlow xmlns=<span style="color: #ff0000;">'http://ns.adobe.com/textLayout/2008'</span><span style="color: #66cc66;">&gt;&lt;</span>p<span style="color: #66cc66;">&gt;&lt;</span>span<span style="color: #66cc66;">&gt;</span>これはTLFTextFieldです。ここを押すと<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;&lt;</span>a href=<span style="color: #ff0000;">&quot;http://blog.nipx.jp&quot;</span> <span style="color: #0066CC;">target</span>=<span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #66cc66;">&gt;</span>リンク<span style="color: #66cc66;">&lt;/</span>a<span style="color: #66cc66;">&gt;&lt;</span>span<span style="color: #66cc66;">&gt;</span>します。<span style="color: #66cc66;">&lt;/</span>span<span style="color: #66cc66;">&gt;&lt;/</span>p<span style="color: #66cc66;">&gt;&lt;/</span>TextFlow<span style="color: #66cc66;">&gt;</span>;</pre></div></div>

<p>のように記述しなければいけない。この例でも&lt;span&gt;の記述がなんだかめんどくさいと思うんだよね。<br />
外部ファイルでメンテナンスできることを前程に考えているんで、知識のないひとに記述してもらうのはますます厳しい。</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> doc:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>div<span style="color: #66cc66;">&gt;</span>これはTLFTextFieldです。ここを押すと<span style="color: #66cc66;">&lt;</span>a href=<span style="color: #ff0000;">&quot;http://blog.nipx.jp&quot;</span> <span style="color: #0066CC;">target</span>=<span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #66cc66;">&gt;</span>リンク<span style="color: #66cc66;">&lt;/</span>a<span style="color: #66cc66;">&gt;</span>します。<span style="color: #66cc66;">&lt;/</span>div<span style="color: #66cc66;">&gt;</span>;</pre></div></div>

<p>を変換する方法で考えます。</p>
<p>記述をTextFlowに変換したりTextFlowをマークアップに変換したりする、TextConverterクラスがあるのですが、直接この記述を、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> doc:<span style="color: #0066CC;">XML</span>	= <span style="color: #66cc66;">&lt;</span>div<span style="color: #66cc66;">&gt;</span>これはTLFTextFieldです。ここを押すと<span style="color: #66cc66;">&lt;</span>a href=<span style="color: #ff0000;">&quot;http://blog.nipx.jp&quot;</span> <span style="color: #0066CC;">target</span>=<span style="color: #ff0000;">&quot;_blank&quot;</span><span style="color: #66cc66;">&gt;</span>リンク<span style="color: #66cc66;">&lt;/</span>a<span style="color: #66cc66;">&gt;</span>します。<span style="color: #66cc66;">&lt;/</span>div<span style="color: #66cc66;">&gt;</span>;
<span style="color: #000000; font-weight: bold;">var</span> flow:TextFlow	= TextConverter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> doc, TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>のようにしても変換できません。</p>
<p>一旦、TextConverter.TEXT_FIELD_HTML_FORMATに変換してから、再度TextConverter.TEXT_LAYOUT_FORMATの記述に書き出します。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> flow:TextFlow	= TextConverter.<span style="color: #006600;">importToFlow</span><span style="color: #66cc66;">&#40;</span> doc.<span style="color: #006600;">toXMLString</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>, TextConverter.<span style="color: #006600;">TEXT_FIELD_HTML_FORMAT</span> <span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> markup:<span style="color: #0066CC;">XML</span>	= TextConverter.<span style="color: #006600;">export</span><span style="color: #66cc66;">&#40;</span> flow, TextConverter.<span style="color: #006600;">TEXT_LAYOUT_FORMAT</span>, ConversionType.<span style="color: #006600;">XML_TYPE</span> <span style="color: #66cc66;">&#41;</span> as <span style="color: #0066CC;">XML</span>;
field.<span style="color: #006600;">tlfMarkup</span>	= markup;</pre></div></div>

<p>TLFTextFieldのtextFlowではリンクのフォーマットを指定して、最後に更新する。<br />
invalidateAllFormats()が重要。これを実行しないと新しいフォーマットが適用されなかった。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">var</span> linkNormalFormat:TextLayoutFormat	= <span style="color: #000000; font-weight: bold;">new</span> TextLayoutFormat<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
linkNormalFormat.<span style="color: #0066CC;">color</span>					= 0x4371A0;
<span style="color: #000000; font-weight: bold;">var</span> linkHoverFormat:TextLayoutFormat	= <span style="color: #000000; font-weight: bold;">new</span> TextLayoutFormat<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
linkHoverFormat.<span style="color: #0066CC;">color</span>					= 0x6F8F0F;
field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">linkNormalFormat</span>	= linkNormalFormat;
field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">linkHoverFormat</span>	= linkHoverFormat;
&nbsp;
field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">invalidateAllFormats</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;
field.<span style="color: #006600;">textFlow</span>.<span style="color: #006600;">flowComposer</span>.<span style="color: #006600;">updateAllControllers</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/07/tlftextfield%e7%8b%ac%e7%bf%92/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HIROSHI IWASAKI</title>
		<link>http://blog.nipx.jp/2010/07/hirowhiiwasaki/</link>
		<comments>http://blog.nipx.jp/2010/07/hirowhiiwasaki/#comments</comments>
		<pubDate>Wed, 30 Jun 2010 19:07:29 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Works]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3459</guid>
		<description><![CDATA[フォトグラファー 岩崎寛さんのポートフォリオサイトを作りました。
nssgraphica町田さんとのお仕事。僕はFlashの実装を担当させていただきました。
Flashで使う外部XMLファイルをXHTMLで記述することで [...]]]></description>
			<content:encoded><![CDATA[<p>フォトグラファー 岩崎寛さんのポートフォリオサイトを作りました。<br />
nssgraphica町田さんとのお仕事。僕はFlashの実装を担当させていただきました。<br />
Flashで使う外部XMLファイルをXHTMLで記述することでHTML版のサイトを用意。<br />
何かと話題なiPhoneやiPadでも作品が見れるように構成しました。<br />
さまざまな大人の事情で表に出せない仕事が多いなか久々に公開できる案件。楽しくやらせていただきました。</p>
<p><a href="http://www.hiroshiiwasaki.com"><img src="http://blog.nipx.jp/wp-content/uploads/2010/07/hiroshiiwasaki0.jpg" alt="" title="" width="500" height="352" class="aligncenter size-full wp-image-3461" /></a></p>
<p>HIROSHI IWASAKI<br />
<a href="http://hiroshiiwasaki.com">http://hiroshiiwasaki.com</a></p>
<p>ArtDirection&#038;Design / Munehiro Machida. <a href="http://www.nssgraphica.com/">nssgraphica</a><br />
Flash / KOSUKE,Nakamura. <a href="http://nipx.jp/">nipx</a><br />
Photograph / Hiroshi Iwasaki. <a href="http://www.stash-mg.com/">stash</a></p>
<p><a href="http://www.hiroshiiwasaki.com"><img src="http://blog.nipx.jp/wp-content/uploads/2010/07/hiroshiiwasaki1.jpg" alt="" title="" width="500" height="352" class="aligncenter size-full wp-image-3461" /></a></p>
<p><a href="http://www.hiroshiiwasaki.com"><img src="http://blog.nipx.jp/wp-content/uploads/2010/07/hiroshiiwasaki2.jpg" alt="" title="" width="500" height="352" class="aligncenter size-full wp-image-3462" /></a></p>
<p><a href="http://www.hiroshiiwasaki.com/photo.html"><img src="http://blog.nipx.jp/wp-content/uploads/2010/07/hiroshiiwasaki3.jpg" alt="" title="" width="500" height="352" class="aligncenter size-full wp-image-3463" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/07/hirowhiiwasaki/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Safari 5.0 で画面が溶ける</title>
		<link>http://blog.nipx.jp/2010/06/safari-5-0-%e3%81%a7%e7%94%bb%e9%9d%a2%e3%81%8c%e6%ba%b6%e3%81%91%e3%82%8b/</link>
		<comments>http://blog.nipx.jp/2010/06/safari-5-0-%e3%81%a7%e7%94%bb%e9%9d%a2%e3%81%8c%e6%ba%b6%e3%81%91%e3%82%8b/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 05:29:50 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3441</guid>
		<description><![CDATA[Safari 5.0 にしたら全面Flashのリサイズ時にオブジェクトが伸びるようになった。革新的過ぎる。他のサイトでも起きてるし、FireFoxでは今迄どおり動いているし。仕様か？バグか？新手の嫌がらせか？！
Safa [...]]]></description>
			<content:encoded><![CDATA[<p>Safari 5.0 にしたら全面Flashのリサイズ時にオブジェクトが伸びるようになった。革新的過ぎる。他のサイトでも起きてるし、FireFoxでは今迄どおり動いているし。仕様か？バグか？新手の嫌がらせか？！</p>
<p>Safari バージョン 5.0 (6533.16)</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/06/Safari5_0.jpg" alt="" title="" width="500" height="375" class="aligncenter size-full wp-image-3442" /><br />
<img src="http://blog.nipx.jp/wp-content/uploads/2010/06/Safari5_1.jpg" alt="" title="" width="500" height="375" class="aligncenter size-full wp-image-3443" /></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/06/safari-5-0-%e3%81%a7%e7%94%bb%e9%9d%a2%e3%81%8c%e6%ba%b6%e3%81%91%e3%82%8b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>forループ</title>
		<link>http://blog.nipx.jp/2010/06/for%e3%83%ab%e3%83%bc%e3%83%97/</link>
		<comments>http://blog.nipx.jp/2010/06/for%e3%83%ab%e3%83%bc%e3%83%97/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 09:04:57 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3427</guid>
		<description><![CDATA[小ネタが続きます。
forステートメントは、指定回数のループに用いることが通常ですが、構文的には、

for&#40; 初期値; 終了する条件; 次の値 &#41;

です。なので例えば以下みたいに使うことも出来る。

 [...]]]></description>
			<content:encoded><![CDATA[<p>小ネタが続きます。<br />
forステートメントは、指定回数のループに用いることが通常ですが、構文的には、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span> 初期値; 終了する条件; 次の値 <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> master:Vector.<span style="color: #66cc66;">&lt;</span>String<span style="color: #66cc66;">&gt;</span>	= Vector.<span style="color: #66cc66;">&lt;</span>String<span style="color: #66cc66;">&gt;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span>
	<span style="color: #ff0000;">&quot;0&quot;</span>,
	<span style="color: #ff0000;">&quot;1&quot;</span>,
	<span style="color: #ff0000;">&quot;2&quot;</span>,
	<span style="color: #ff0000;">&quot;1&quot;</span>,
	<span style="color: #ff0000;">&quot;21&quot;</span>,
	<span style="color: #ff0000;">&quot;2&quot;</span>,
	<span style="color: #ff0000;">&quot;2&quot;</span>
<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #000000; font-weight: bold;">var</span> record:Vector.<span style="color: #66cc66;">&lt;</span>String<span style="color: #66cc66;">&gt;</span> = Vector.<span style="color: #66cc66;">&lt;</span>String<span style="color: #66cc66;">&gt;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> getValue<span style="color: #66cc66;">&#40;</span> str:<span style="color: #0066CC;">String</span> <span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">String</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> value:<span style="color: #0066CC;">String</span>;
	<span style="color: #b1b100;">for</span> each<span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">var</span> <span style="color: #0066CC;">target</span>:<span style="color: #0066CC;">String</span> <span style="color: #b1b100;">in</span> record <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
		<span style="color: #b1b100;">if</span><span style="color: #66cc66;">&#40;</span> <span style="color: #0066CC;">target</span> == str <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
			value = <span style="color: #0066CC;">target</span>;
			<span style="color: #b1b100;">break</span>;
		<span style="color: #66cc66;">&#125;</span>
	<span style="color: #66cc66;">&#125;</span>
	<span style="color: #b1b100;">return</span> value;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span> <span style="color: #000000; font-weight: bold;">var</span> i:uint=<span style="color: #cc66cc;">0</span>; i<span style="color: #66cc66;">&lt;</span>master.<span style="color: #0066CC;">length</span>; i++ <span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">var</span> n:<span style="color: #0066CC;">String</span>	= master<span style="color: #66cc66;">&#91;</span>i<span style="color: #66cc66;">&#93;</span>;
	<span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span> n; getValue<span style="color: #66cc66;">&#40;</span>n<span style="color: #66cc66;">&#41;</span>; n+=<span style="color: #ff0000;">&quot;+&quot;</span> <span style="color: #66cc66;">&#41;</span>;
	record.<span style="color: #0066CC;">push</span><span style="color: #66cc66;">&#40;</span> n <span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span>
&nbsp;
&nbsp;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;master:&quot;</span> + master <span style="color: #66cc66;">&#41;</span>;
<span style="color: #0066CC;">trace</span><span style="color: #66cc66;">&#40;</span> <span style="color: #ff0000;">&quot;record:&quot;</span> + record <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>上記のソースでは、ある文字列の配列をループして、同じ名前があったら、文字列の最後に「+」を付与しています。</p>
<p>for文のポイントはここ。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;"><span style="color: #b1b100;">for</span><span style="color: #66cc66;">&#40;</span> n; getValue<span style="color: #66cc66;">&#40;</span>n<span style="color: #66cc66;">&#41;</span>; n+=<span style="color: #ff0000;">&quot;+&quot;</span> <span style="color: #66cc66;">&#41;</span>;</pre></div></div>

<p>初期値nには、配列から取得した文字列になります。<br />
終了条件は、getValueで得ます。getValueはnの文字列が既に登録されていたらその文字列を、そうでなければ空を返す。<br />
次の値はnの最後に「+」を付与したもの。</p>
<p>このループを通過後、nにはまだ登録されていない文字列が入っています。<br />
結果は以下になります。</p>
<p>master:0,1,2,1,21,2,2<br />
record:0,1,2,1+,21,2+,2++</p>
<p>これをどんな時に使うかというと、たとえばユーザが変更できるxmlから値を取得して使う時、その値は同じものがあってはならない場合なんかに有効。xmlで外部編集を可能にした場合、意図しない値をユーザが入力してしまう可能性があります。転ばぬ先の杖的にこういった構文を入れておくとよいかもしれないです。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/06/for%e3%83%ab%e3%83%bc%e3%83%97/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Shadowbox.js カウンタの表記</title>
		<link>http://blog.nipx.jp/2010/06/shadowbox-js-%e3%82%ab%e3%82%a6%e3%83%b3%e3%82%bf%e3%81%ae%e8%a1%a8%e8%a8%98/</link>
		<comments>http://blog.nipx.jp/2010/06/shadowbox-js-%e3%82%ab%e3%82%a6%e3%83%b3%e3%82%bf%e3%81%ae%e8%a1%a8%e8%a8%98/#comments</comments>
		<pubDate>Fri, 11 Jun 2010 08:07:57 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3422</guid>
		<description><![CDATA[このブログでも使っている、Shadowbox.jsというLightBox系Ajaxライブラリについて。
Shadowboxでは、グループ化した時、カウンタが表示されます。このカウンタは「 1 of 10 」のような表記。 [...]]]></description>
			<content:encoded><![CDATA[<p>このブログでも使っている、Shadowbox.jsというLightBox系Ajaxライブラリについて。<br />
Shadowboxでは、グループ化した時、カウンタが表示されます。このカウンタは「 1 of 10 」のような表記。だけどあまり、この「 of 」って表記をデザインで使うことなくないですか？<br />
大体、1 / 10 みたいな。スラッシュを使うんじゃないかと。こっちの方がスマートに見えるし。</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/06/shadowbox.gif" alt="" title="" width="500" height="100" class="aligncenter size-full wp-image-3423" /></p>
<p>そこで、このofを変えたいと思ったのですが、この表記は公式サイトにあるAPIやOptionには記載が無かった。しょうがないので、中身をみてみたらありました。 S.langってオブジェクトの中です。</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">S.<span style="color: #660066;">lang</span> <span style="color: #339933;">=</span> 
<span style="color: #009900;">&#123;</span>
	 code <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;en&quot;</span><span style="color: #339933;">,</span> of <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;of&quot;</span><span style="color: #339933;">,</span> loading <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;loading&quot;</span><span style="color: #339933;">,</span> cancel <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Cancel&quot;</span><span style="color: #339933;">,</span> next <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Next&quot;</span><span style="color: #339933;">,</span> previous <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Previous&quot;</span><span style="color: #339933;">,</span> 
	 play <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Play&quot;</span><span style="color: #339933;">,</span> pause <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Pause&quot;</span><span style="color: #339933;">,</span> <span style="color: #000066;">close</span> <span style="color: #339933;">:</span> <span style="color: #3366CC;">&quot;Close&quot;</span><span style="color: #339933;">,</span> errors <span style="color: #339933;">:</span> 
	 <span style="color: #009900;">&#123;</span>
	     single <span style="color: #339933;">:</span> <span style="color: #3366CC;">'You must install the &lt;a href=&quot;{0}&quot;&gt;{1}&lt;/a&gt; browser plugin to view this content.'</span><span style="color: #339933;">,</span> 
	     shared <span style="color: #339933;">:</span> <span style="color: #3366CC;">'You must install both the &lt;a href=&quot;{0}&quot;&gt;{1}&lt;/a&gt; and &lt;a href=&quot;{2}&quot;&gt;{3}&lt;/a&gt; browser plugins to view this content.'</span><span style="color: #339933;">,</span> 
	     either <span style="color: #339933;">:</span> <span style="color: #3366CC;">'You must install either the &lt;a href=&quot;{0}&quot;&gt;{1}&lt;/a&gt; or the &lt;a href=&quot;{2}&quot;&gt;{3}&lt;/a&gt; browser plugin to view this content.'</span>
	 <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span><span style="color: #339933;">;</span></pre></div></div>

<p>このオブジェクトのofの値が表示されてるっぽい。SはShadowboxのショートカットなので、</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;">Shadowbox.<span style="color: #660066;">lang</span>.<span style="color: #660066;">of</span> <span style="color: #339933;">=</span> <span style="color: #3366CC;">&quot;/&quot;</span><span style="color: #339933;">;</span></pre></div></div>

<p>のようにして、表記を変更できます。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/06/shadowbox-js-%e3%82%ab%e3%82%a6%e3%83%b3%e3%82%bf%e3%81%ae%e8%a1%a8%e8%a8%98/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Adobe CS5</title>
		<link>http://blog.nipx.jp/2010/05/adobe-cs5/</link>
		<comments>http://blog.nipx.jp/2010/05/adobe-cs5/#comments</comments>
		<pubDate>Sat, 29 May 2010 10:35:00 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Other]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3415</guid>
		<description><![CDATA[昨日発売のCS5。発売前日のAdobe Creative Suite 5 Web Premium発売記念セミナーも見に行ってました。しばらく体験版試して&#8230;とか考えたけど結局、昨日注文して今日届きました。CS4 [...]]]></description>
			<content:encoded><![CDATA[<p>昨日発売のCS5。発売前日のAdobe Creative Suite 5 Web Premium発売記念セミナーも見に行ってました。しばらく体験版試して&#8230;とか考えたけど結局、昨日注文して今日届きました。CS4を見送ったって人も今回は購入されたのでは？</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/05/DSCF1171.jpg" alt="" title="DSCF1171" width="400" height="320" class="aligncenter size-full wp-image-3418" /></p>
<p>インストール後に登録できるCS Live サービス。1年間無料で使えるのだけど、このBROWSERLABが結構良いかも。選んだOS、ブラウザの表示状態がまとめてみれる。スゴい。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/05/adobe-cs5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>AIR for Android Developer Prerelease を試してみた</title>
		<link>http://blog.nipx.jp/2010/05/air-for-android-developer-prerelease-%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/</link>
		<comments>http://blog.nipx.jp/2010/05/air-for-android-developer-prerelease-%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/#comments</comments>
		<pubDate>Mon, 24 May 2010 15:16:03 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[Air]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3390</guid>
		<description><![CDATA[話題のAndroid用AIRの開発者向けプレリリースがどんなものなのか知りたく登録してみた。
プログラムはこちら。
Adobe AIR for Android
このプログラムは誰でも登録出来るのだけど、プログラムで得た内 [...]]]></description>
			<content:encoded><![CDATA[<p>話題のAndroid用AIRの開発者向けプレリリースがどんなものなのか知りたく登録してみた。</p>
<p>プログラムはこちら。<br />
<a href="http://labs.adobe.com/technologies/air2/android/">Adobe AIR for Android</a></p>
<p>このプログラムは誰でも登録出来るのだけど、プログラムで得た内容を外部に開示してはならないようなことが記されているので詳細は書かず話を進めます。</p>
<p>ひとまず、本当に動くの？ってことが試したくて、<a href="http://wallpaper.nipx.jp/archives/691">昨日作った待ち受けFlash</a>をas3で書き直してAIR化。Androidアプリにしてみる。</p>
<p>こちらも初めて使いましたが、<a href="http://developer.android.com/sdk/index.html">Android SDK</a>をダウンロードしてAndroidのエミューレート環境を作りインストールします。</p>
<p><img src="http://blog.nipx.jp/wp-content/uploads/2010/05/android2.2sdk.jpg" alt="" title="" width="500" height="351" class="aligncenter size-full wp-image-3392" /></p>
<p>どうかっていうと普通に動きます。拍子抜けするくらい簡単に。</p>
<p>で、先の理由で記事的には書きようがないわけですが、言いたいことが一つ出て来た。何かと言うと、</p>
<p>本当にいいの？Apple。Flash 無しで？</p>
<p>CS5は、これのiPhone版が既に完成された状態で組み込まれているっていうのにもったいないなぁ。FlashでiPhoneアプリ作りたいって開発者は大勢いるのに。iPhone OS4は本当にあの規約のままリリースするんですかね？</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/05/air-for-android-developer-prerelease-%e3%82%92%e8%a9%a6%e3%81%97%e3%81%a6%e3%81%bf%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YouTube API 3</title>
		<link>http://blog.nipx.jp/2010/05/youtube-api-3/</link>
		<comments>http://blog.nipx.jp/2010/05/youtube-api-3/#comments</comments>
		<pubDate>Mon, 17 May 2010 10:52:36 +0000</pubDate>
		<dc:creator>kosuke</dc:creator>
				<category><![CDATA[API]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://blog.nipx.jp/?p=3370</guid>
		<description><![CDATA[GWにさわったYouTube APIはプレイヤーまわりだけでしたが、その後真打ち部分、YouTube Data APIを少し試してみました。
Data APIは、プレイヤーに渡す動画を選択したり、YouTubeが備えるコ [...]]]></description>
			<content:encoded><![CDATA[<p>GWにさわったYouTube APIはプレイヤーまわりだけでしたが、その後真打ち部分、YouTube Data APIを少し試してみました。</p>
<p>Data APIは、プレイヤーに渡す動画を選択したり、YouTubeが備えるコミュニティ機能を扱うAPIです。リファレンスはこちら。</p>
<p><a href="http://code.google.com/intl/ja/apis/youtube/developers_guide_protocol.html">デベロッパー ガイド: Data API プロトコル</a></p>
<p>Data APIではフィードを使ってやりとりをしていきます。リクエストの種類がいろいろあるので、必要な情報はおそらく得られると思いますが、思ったように使うのはやっぱり大変ですよね。</p>
<p><br/></p>
<p>ひとまず、作ってみた<a href="http://blog.nipx.jp/wp-content/uploads/2010/05/lomowall/index.html">サンプルがこちら</a>。<br />
動画の検索結果のサムネイルをロモウォール風に表示して動画を選べます。</p>
<p><a href="http://blog.nipx.jp/wp-content/uploads/2010/05/lomowall/index.html"><img src="http://blog.nipx.jp/wp-content/uploads/2010/05/lomowall.jpg" alt="" title="" width="500" height="348" class="aligncenter size-full wp-image-3381" /></a></p>
<p>忘れないうちに、つまずいたところを記憶しておきます。</p>
<p><br/></p>
<p>動画の検索については、リファレンスの「<a href="http://code.google.com/intl/ja/apis/youtube/developers_guide_protocol.html#Retrieving_and_searching_for_videos">動画の取得と検索</a>」の「動画の検索」にある、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">http:<span style="color: #808080; font-style: italic;">//gdata.youtube.com/feeds/api/videos</span></pre></div></div>

<p>をリクエストします。<br />
すると、「<a href="http://code.google.com/intl/ja/apis/youtube/developers_guide_protocol.html#Understanding_Video_Entries">動画のフィードとエントリの説明</a>」にあるような、検索結果のフィードが返ってくる。この検索結果の「entryタグ」がヒットした動画の情報になっています。</p>
<p>リクエストの際、取得する検索結果の位置や数を指定したりするパラメータがあるのだけれど、ここでまずころぶ。</p>
<p>取得する検索結果を数は、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">max-results</pre></div></div>

<p>というパラメータで指定できる。（最大50件まで）</p>
<p>検索結果をどこから取得するかは、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">start-<span style="color: #0066CC;">index</span></pre></div></div>

<p>で指定できます。</p>
<p>検索にヒットした動画の数は、フィードの最初の方にある、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">openSearch:totalResults</pre></div></div>

<p>タグでわかります。</p>
<p><br/></p>
<p>ここまでざっと見て、ページング（ページ分け）をするには、次のフィードを取得する検索パラメータを、totalResultに至るまでstart-indexにmax-resultsを足した位置とすればよいと思いました。でも、これはNG。<br />
<a href="http://code.google.com/intl/ja/apis/youtube/reference.html#youtube_data_api_tag_openSearch:totalResults">openSearch:totalResultsの説明</a><br />
を良く読むと、なんとtotalResultsの値は「おおよその値」を示していて、正確な値を示しているとは限らないとある。え？なんともあいまいなと思うのだが、実際検索してみると、頻繁にtotalResultsの数が上下するわけです。<br />
したがってページ分けにこのopenSearch:totalResultsは使えない。<br />
ページ分けをするには、totalResultsのリファレンスの下に書かれている&lt;link rel=&#8221;next&#8221;&gt; と &lt;link rel=&#8221;prev&#8221;&gt; を使って行います。<br />
これ、はまった。。。。</p>
<p><br/></p>
<p>次にプレイヤーなんですが、イベントの取得に、</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">player.<span style="color: #006600;">addEventListener</span><span style="color: #66cc66;">&#40;</span>event:<span style="color: #0066CC;">String</span>, listener:<span style="color: #000000; font-weight: bold;">Function</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span></pre></div></div>

<p>を使いますが、これが消せないっぽい。</p>

<div class="wp_syntax"><div class="code"><pre class="actionscript" style="font-family:monospace;">player.<span style="color: #006600;">destroy</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>:<span style="color: #0066CC;">Void</span></pre></div></div>

<p>なんてそれっぽいAPIもダメでした。Loaderをunloadしてもnullしても消えなくて、何度も読み込む場合、付与したイベントが問題になったりする。新しいLoaderを作れば以前のリスナーが動く機会は無くなるけど、これだとメモリにどんどんゴミが溜まっていっちゃう。どうもそもそも消えない？っぽいので、プレイヤーは一度ロードしたらアンロードせず、cueVideoByUrlやloadVideoByUrlなどで新しい動画を読み込んだほうがよいかもしれません。</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.nipx.jp/2010/05/youtube-api-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
