<?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>jp.ferv.blog</title>
	<atom:link href="http://ferv.jp/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://ferv.jp/blog</link>
	<description>「ActionScriptは素晴らしい。コンパイルする価値がある。」って偉い人が言ってた。</description>
	<lastBuildDate>Tue, 23 Feb 2010 12:30:33 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Twitterを今更はじめました</title>
		<link>http://ferv.jp/blog/2010/02/23/twitter%e3%82%92%e4%bb%8a%e6%9b%b4%e3%81%af%e3%81%98%e3%82%81%e3%81%be%e3%81%97%e3%81%9f/</link>
		<comments>http://ferv.jp/blog/2010/02/23/twitter%e3%82%92%e4%bb%8a%e6%9b%b4%e3%81%af%e3%81%98%e3%82%81%e3%81%be%e3%81%97%e3%81%9f/#comments</comments>
		<pubDate>Tue, 23 Feb 2010 12:30:33 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1238</guid>
		<description><![CDATA[つぶやくことねーやと思ってたらリアルで結構な頻度でつぶやいてることに気づいて、Twitterするしかねぇと思いました。ふぉろーみー→]]></description>
			<content:encoded><![CDATA[<p>つぶやくことねーやと思ってたらリアルで結構な頻度でつぶやいてることに気づいて、Twitterするしかねぇと思いました。ふぉろーみー→</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2010/02/23/twitter%e3%82%92%e4%bb%8a%e6%9b%b4%e3%81%af%e3%81%98%e3%82%81%e3%81%be%e3%81%97%e3%81%9f/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alchemy PNG encoder のデモ</title>
		<link>http://ferv.jp/blog/2010/02/04/alchemy-png-encoder-demo/</link>
		<comments>http://ferv.jp/blog/2010/02/04/alchemy-png-encoder-demo/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 20:55:11 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Alchemy]]></category>
		<category><![CDATA[FileReference]]></category>
		<category><![CDATA[PNGEncoder]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1214</guid>
		<description><![CDATA[dsk/PNG &#8211; Spark project の /src/sample にある二種類デモをパブリッシュした swf を張っておきます。
同期処理でエンコード

zlib 圧縮率を 1 で、不透明な画 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.libspark.org/wiki/dsk/PNG">dsk/PNG &#8211; Spark project</a> の /src/sample にある二種類デモをパブリッシュした swf を張っておきます。</p>
<h2>同期処理でエンコード</h2>
<p><a rel="shadowbox;width=500;height=400;" href='http://ferv.jp/blog/wp-content/uploads/2010/02/PNGEncodeSync.swf'><img src="http://ferv.jp/blog/wp-content/uploads/2010/02/PNGEncodeSync.png" title="PNGEncodeSync" width="465" height="150" class="alignnone size-full wp-image-1034" /></a></p>
<p>zlib 圧縮率を 1 で、不透明な画像と透明な画像に対してフィルタの種類を変えてエンコードしてみる。</p>
<h2>非同期処理でエンコード</h2>
<p><a rel="shadowbox;width=500;height=400;" href='http://ferv.jp/blog/wp-content/uploads/2010/02/PNGEncodeAsync.swf'><img src="http://ferv.jp/blog/wp-content/uploads/2010/02/PNGEncodeAsync.png" alt="PNGEncodeAsync" title="PNGEncodeAsync" width="465" height="150" class="alignnone size-full wp-image-1034" /></a></p>
<p>非同期処理の注目点は、この例だと 12 回一気にコールしてるんだけど最後にコールしたところから順々に実行され、一個処理が終わると次の処理って感じにお行儀よく処理されていく。
これは Alchemy の機能だと思うんだけどコールしたのと逆順なのはなんか理由があるのかな・・・</p>
<p>あと、こっちはエンコード終了時に toXML() メソッドでちょっとだけデコードして情報を抜き出した XML を trace() してるから Firefox で FlashTracer 入れてる人は開いてみるといいかも。</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2010/02/04/alchemy-png-encoder-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alchemy PNG encoder を Spark</title>
		<link>http://ferv.jp/blog/2010/02/03/alchemy-png-encoder-spark/</link>
		<comments>http://ferv.jp/blog/2010/02/03/alchemy-png-encoder-spark/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 11:29:07 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Alchemy]]></category>
		<category><![CDATA[FileFormat]]></category>
		<category><![CDATA[PNGEncoder]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1206</guid>
		<description><![CDATA[高速化に繋がらなくて一度は捨てかけた Alchemy + libpng + zlib の PNG エンコーダを Spark した。
使い方とか svn の URL は dsk/PNG &#8211; Spark pro [...]]]></description>
			<content:encoded><![CDATA[<p>高速化に繋がらなくて一度は捨てかけた Alchemy + libpng + zlib の PNG エンコーダを Spark した。
使い方とか svn の URL は <a href="http://www.libspark.org/wiki/dsk/PNG">dsk/PNG &#8211; Spark project</a> から。</p>
<p>拾った理由は、こんな感じ。
AS3 では ByteArray.compress() メソッドを叩くと、 deflate 圧縮して zlib 形式にフォーマットしてくれるんだけど、
冗長性のない ByteArray の圧縮は高速に処理できるけど、 PNG フォーマットに定義されているフィルタ処理で冗長化してから compress() すると処理にやたらと時間がかかる。
フィルタリングする前提だと、 zlib 圧縮率を低めにすれば十分高速に処理でき、 zlib 圧縮率よりもフィルタリングの有無の方がファイルサイズ縮小のメリットが大きいけど、 compress() メソッドでは zlib 圧縮率を設定できない。
あとは、 Alchemy だと非同期に処理するコードも簡単に書けるから、大きなサイズの BitmapData をエンコードする場合などもメリットありそうだし。</p>
<p>Alchemy の非同期処理は進捗とかを関数の参照渡しで C から AS の関数をコールして通知するんだけど、これって AS3 ライクじゃないんでイベントを発行する形にラップしてある。
あと、デバッグ用にちょっとだけデコードしてチャンクの情報とかを XML にして返す関数も実装。</p>

]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2010/02/03/alchemy-png-encoder-spark/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alchemy PNG encoder</title>
		<link>http://ferv.jp/blog/2010/01/20/alchemy-png-encoder/</link>
		<comments>http://ferv.jp/blog/2010/01/20/alchemy-png-encoder/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 17:46:04 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Alchemy]]></category>
		<category><![CDATA[FileFormat]]></category>
		<category><![CDATA[PNGEncoder]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1190</guid>
		<description><![CDATA[
てことで、 zlib と libpng を使って、 Alchemy で PNG クラスを作ってみた。サンプルの一番下に該当。
PNG フォーマットには圧縮効率を上げるフィルタという仕組みがあって、フィルタの仕組み自 [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="shadowbox;width=530;height=560;" href='http://ferv.jp/blog/wp-content/uploads/2010/01/PNGSample.swf'><img src="http://ferv.jp/blog/wp-content/uploads/2010/01/PNGSample.png" alt="PNGSample" title="PNGSample" width="465" height="150" class="alignnone size-full wp-image-1034" /></a></p>
<p>てことで、 <a href="http://zlib.net/">zlib</a> と <a href="http://www.libpng.org/pub/png/libpng.html">libpng</a> を使って、 Alchemy で PNG クラスを作ってみた。サンプルの一番下に該当。</p>
<p>PNG フォーマットには圧縮効率を上げるフィルタという仕組みがあって、フィルタの仕組み自体は PNG の仕様書みながら実装できるけど、どのフィルタを使うのが最適なのかはアプリケーションに任されてるけど正直んなとこまで突っ込みたくないしってことで、 Alcehmy 使えばフィルタ選択もしつつ高速化もできるかと思ったけどそんなに甘くなかった。
結果は見ての通り。OSEEEEEEEEEEEEEEEEE!!</p>
<p>ただ、フィルタの自動選択の方はコンボボックスで PNG_ALL_FILTERS を選択してエンコードすると libpng が各スキャンラインに対して自動的に最適であろうフィルタを選択してくれてる気がする。
あと、 AS では引数もなにもなしで <code>ByteArray.compress()</code> の一行で済まされてしまう zlib アルゴリズムでの圧縮に対して、 Alchemy で zlib を使うと圧縮レベルを 0(無圧縮)～9(最大圧縮) で設定することができる。当然圧縮率上げると遅いけど。
ちなみに libpng のデフォルトのフィルタタイプは PNG_ALL_FILTERS で、圧縮レベルは 6 ぽい。</p>
<p>速度重視なら <a href="http://ferv.jp/blog/2010/01/08/optimized-pngencoder-with-filters/">Optimized PNGEncoder with filters</a> 使って、ファイルサイズをある程度考慮しないとだったら Alchemy の PNG クラス使うとかそんな感じかなー・・・なんにせよ選択肢増えたってことでよしとするか・・・</p>
]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2010/01/20/alchemy-png-encoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Alchemy JPG encoder</title>
		<link>http://ferv.jp/blog/2010/01/19/alchemy-jpgpng-encoder/</link>
		<comments>http://ferv.jp/blog/2010/01/19/alchemy-jpgpng-encoder/#comments</comments>
		<pubDate>Tue, 19 Jan 2010 10:13:01 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Alchemy]]></category>
		<category><![CDATA[FileFormat]]></category>
		<category><![CDATA[JPGEncoder]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1171</guid>
		<description><![CDATA[
とりあえず Alchemy の練習で libjpeg を使ってエンコードする関数を書いてみた。今回は .gg から .c と .as を書き出してくれる Alchemy についてる GlueGen っていうツールを使 [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="shadowbox;width=530;height=560;" href='http://ferv.jp/blog/wp-content/uploads/2010/01/JPGSample.swf'><img src="http://ferv.jp/blog/wp-content/uploads/2010/01/JPGSample.png" alt="JPGSample" title="JPGSample" width="465" height="150" class="alignnone size-full wp-image-1034" /></a></p>
<p>とりあえず Alchemy の練習で <a href="http://www.ijg.org/">libjpeg</a> を使ってエンコードする関数を書いてみた。今回は .gg から .c と .as を書き出してくれる Alchemy についてる GlueGen っていうツールを使った。 .c は次の工程の .swc 書き出しに使って、 .as はその .swc 内の関数への繋ぎ的な役割をしてくれるクラスファイルで、 <code>(new CLibInit()).init();</code> とかの定型句的なコードを勝手に書いてくれる。だけど、例えば関数の引数のデフォルト値ってどうやって書いとけばちゃんと .as に反映されるのかとかよくわかんない事だらけ。</p>
<p>例の <a href="http://segfaultlabs.com/devlogs/alchemy-asynchronous-jpeg-encoding">Alchemy &#8211; asynchronous jpeg encoding</a> を見た時、 <a href="http://www.bytearray.org/?p=775">bytearray.org の JPEGEncoder</a> と比較して 10 倍位パフォーマンス良いように見えた segfaultlabs.com の JPEGEncoder だけど DebugPlayer で見てたからだった。普通の Player だと、 2 倍位しか違わなかった。いや、 2 倍でもすごいんだけど 10 倍の衝撃がすごすぎて・・・（FlexBuilder ってリリースビルドしても DebugPlayer で見ると遅いの？↑のはFlashDevelop で Release 書き出しだけど DebugPlayer から見ても速く動いてる気がするけど。）</p>
<p>大体 segfaultlabs.com のとこのと同じくらいのパフォーマンス出たからこの方向で PNG もやってみよっと。</p>
]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2010/01/19/alchemy-jpgpng-encoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimized PNGEncoder with filters</title>
		<link>http://ferv.jp/blog/2010/01/08/optimized-pngencoder-with-filters/</link>
		<comments>http://ferv.jp/blog/2010/01/08/optimized-pngencoder-with-filters/#comments</comments>
		<pubDate>Thu, 07 Jan 2010 19:18:44 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[FileFormat]]></category>
		<category><![CDATA[PNGEncoder]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1126</guid>
		<description><![CDATA[PNG フォーマットには圧縮効率を上げるフィルタという仕組みがあるので、そいつを Optimized PNGEncoder に実装してみた。
PNG フォーマットで定義されてるフィルタの種類は5種類。

None  [...]]]></description>
			<content:encoded><![CDATA[<p>PNG フォーマットには圧縮効率を上げるフィルタという仕組みがあるので、そいつを <a href="http://ferv.jp/blog/2010/01/07/optimized-pngencoder/">Optimized PNGEncoder</a> に実装してみた。</p>
<p>PNG フォーマットで定義されてるフィルタの種類は5種類。</p>
<ul>
<li>None &#8211; 該当バイトをそのまま使用 (as3corelib の PNGEncoder はこれ一択)</li>
<li>Sub &#8211; 該当バイトと左のピクセルのバイトとの差分を使用</li>
<li>Up &#8211; 該当バイトと上のピクセルのバイトとの差分を使用</li>
<li>Average &#8211; 該当バイトと左/上のピクセルのバイトの平均値との差分を使用</li>
<li>Paeth &#8211; 該当バイトと左/上/左上のピクセルのバイトのうちの最近傍値との差分を使用</li>
</ul>
<p>ていう感じ。どのフィルタを使うのが圧縮率が高いかは対象の画像に依存する。</p>
<div style="text-align:center;width:465px;"><iframe title="Optimized PNGEncoder with filters - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/05c93e9a9bb9ec5e4eb2eeefb37cd26be36ebdd6" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/05c93e9a9bb9ec5e4eb2eeefb37cd26be36ebdd6" title="Optimized PNGEncoder with filters - wonderfl build flash online">Optimized PNGEncoder with filters &#8211; wonderfl build flash online</a></div>
<p>ファイルサイズは 1 / 5 くらいになるけど、処理時間は倍以上かかっちゃう。このまま None 以外のフィルタ使うとサーバ資源は節約できるけどユーザのストレスは倍増間違いなし・・・ あ、Alchemy の出番ですね！！まだ Cygwin のセットアップも終わってないけど！！</p>
<p>// 関係ないけど Wonderfl でコードが 1000 行越えるとソースコードのプレビューのインデントとかカラーリングとかが壊れちゃいました。</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2010/01/08/optimized-pngencoder-with-filters/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Optimized PNGEncoder</title>
		<link>http://ferv.jp/blog/2010/01/07/optimized-pngencoder/</link>
		<comments>http://ferv.jp/blog/2010/01/07/optimized-pngencoder/#comments</comments>
		<pubDate>Wed, 06 Jan 2010 18:44:47 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[FileFormat]]></category>
		<category><![CDATA[PNGEncoder]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1111</guid>
		<description><![CDATA[Alchemy &#8211; asynchronous jpeg encodingで OptimizedJPGEncoder や AlchemyJPGEncoder の処理速度比較をみて、 PNGEncoder も多少 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://segfaultlabs.com/devlogs/alchemy-asynchronous-jpeg-encoding">Alchemy &#8211; asynchronous jpeg encoding</a>で OptimizedJPGEncoder や AlchemyJPGEncoder の処理速度比較をみて、 PNGEncoder も多少最適化できるかなと思ったんでやってみた。<p>
<p>PNGフォーマットはJPGフォーマットのように複雑な変換処理がない単純なフォーマットなので、コード量が少く最適化箇所も少ない。ただ、複数回エンコードしたり、サイズの大きな BitmapData をエンコードする際にはメリットがでてくるんじゃなかろーかと。</p>
<div style="text-align:center;width:465px;"><iframe title="Optimized PNGEncoder - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/e6f61fe760d77ff75992173f5c346733b4ea08da" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/e6f61fe760d77ff75992173f5c346733b4ea08da" title="Optimized PNGEncoder - wonderfl build flash online">Optimized PNGEncoder &#8211; wonderfl build flash online</a></div>
<p>処理速度比較の為に as3corelib の PNGEncoder と同じく PLTE チャンクは実装せず、フィルタオプションは &#8216;None&#8217; 一択で実装してる。 as3corelib にはない機能で、 BitmapData が不透明時の分岐を実装した。これをしとくことで BitmapData.transparent == false の BitmapData をエンコードした時にファイル容量が軽くなるはず。</p>
<p>最適化箇所をざっくり挙げとくと、 for 文の length をあらかじめ取得しとくとか、 for 文の中で何度も同結果の分岐を挟まないとか、 Vector を使うとかっていう最適化の基本的なところから、エンコード毎に使う PNG シグネチャ・ IEND チャンク・ CRC テーブルを定数にして使い回したりだとか、何度も同結果の null チェックしないとか、無駄な型変換をしないとかそんな感じ。<br />
サイズや透明・不透明によって違うけど、だいたい 25% くらい高速化してる気がする。</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2010/01/07/optimized-pngencoder/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FlashのboldがWin/Macで違うよ</title>
		<link>http://ferv.jp/blog/2009/12/25/flash_bold_win_mac/</link>
		<comments>http://ferv.jp/blog/2009/12/25/flash_bold_win_mac/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 12:00:09 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[TextFormat]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1096</guid>
		<description><![CDATA[
FlashIDEがつけてくれるboldはWinとMacだと差があるみたい。Cooper Std Black での違いが特に分かりやすかったのでスクリーンショットを撮って比較してみた。上部が WinXP FlashCS [...]]]></description>
			<content:encoded><![CDATA[<a href="http://ferv.jp/blog/wp-content/uploads/2009/12/bold.png" rel="shadowbox[post-1096];player=img;"><img src="http://ferv.jp/blog/wp-content/uploads/2009/12/bold-465x150.png" alt="" title="bold" width="465" height="150" class="alignnone size-thumbnail wp-image-1108" /></a>
<p>FlashIDEがつけてくれるboldはWinとMacだと差があるみたい。Cooper Std Black での違いが特に分かりやすかったのでスクリーンショットを撮って比較してみた。上部が WinXP FlashCS3、下部が MacOSX FlashCS3 のスクリーンショットで、各スクリーンショットの上がノーマル、下がボールドです。Winの方はboldかかってないんじゃないかってくらい太さが変わってない。</p>
<p>フォントを埋め込んだ際もこの差が出るので、TextFormatのboldプロパティを使うようなFlashを作ってる時はMacでパブリッシュした方がちゃんとboldが効いてるようにみえますよ。もちろんボールドなスタイルを持ってるフォントとかだとそっちの方がきれいだけど。</p>
<p>// CS4でbold/italicのボタンがいなくなったのはなぜ・・・スタイルがないフォントだとおわるよねー</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2009/12/25/flash_bold_win_mac/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iCone1.1.1リリース</title>
		<link>http://ferv.jp/blog/2009/12/18/icone1-1-1/</link>
		<comments>http://ferv.jp/blog/2009/12/18/icone1-1-1/#comments</comments>
		<pubDate>Thu, 17 Dec 2009 19:25:16 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[FileReference]]></category>
		<category><![CDATA[iCone]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1082</guid>
		<description><![CDATA[
アイコン保存時に設定した各プロパティをSharedObjectに保存し、次回閲覧時に適用するようにしました。
iCone1.1.1リリースノート

&#8220;remember the properties&#038; [...]]]></description>
			<content:encoded><![CDATA[<a href="http://ferv.jp/app/icone/"><img src="http://ferv.jp/blog/wp-content/uploads/2009/12/icone_1-1-1.png" alt="icone_1-1-1" title="icone_1-1-1" width="465" height="150" class="alignnone size-full wp-image-1083" /></a>
<p>アイコン保存時に設定した各プロパティをSharedObjectに保存し、次回閲覧時に適用するようにしました。</p>
<h2>iCone1.1.1リリースノート</h2>
<ol>
<li>&#8220;remember the properties&#8221;にチェックを入れて作ったアイコン保存時に、各プロパティを保存します。</li>
<li>&#8220;reset&#8221;ボタンを押すと、各プロパティを初期値に戻します。保存した各プロパティも初期化されます。</li>
<li>&#8220;width&#8221;と&#8221;height&#8221;を512pxまで設定できるように変更しました。</li>
<li>カラーピッカーをRGBベースからHSVベースに変更しました。(FlashIDEのカラーパネルについてるやつっぽいのを自作)</li>
</ol>
<p>前バージョン &#8211; <a href="http://ferv.jp/app/icone/old/1_1_0/">iCone1.1.0</a></p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2009/12/18/icone1-1-1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DisplayObject3D.buttonMode</title>
		<link>http://ferv.jp/blog/2009/11/11/displayobject3d-buttonmode/</link>
		<comments>http://ferv.jp/blog/2009/11/11/displayobject3d-buttonmode/#comments</comments>
		<pubDate>Tue, 10 Nov 2009 19:46:34 +0000</pubDate>
		<dc:creator>dsk</dc:creator>
				<category><![CDATA[Web]]></category>
		<category><![CDATA[ActionScript 3.0]]></category>
		<category><![CDATA[Papervision3D]]></category>

		<guid isPermaLink="false">http://ferv.jp/blog/?p=1073</guid>
		<description><![CDATA[Papervision3DのDisplayObject3DにはbuttonModeがないけど、実装するとしたらこんな感じなのかなー。左の青いのがbuttonModeをtrueにしたPlaneで、右の赤いのがbuttonM [...]]]></description>
			<content:encoded><![CDATA[<p>Papervision3DのDisplayObject3DにはbuttonModeがないけど、実装するとしたらこんな感じなのかなー。左の青いのがbuttonModeをtrueにしたPlaneで、右の赤いのがbuttonModeをfalseにしたPlane。<br />
<code>viewport.containerSprite.buttonMode = true;</code>ってしちゃうと、Scene3Dにaddした全てのオブジェクト上でボタンカーソルになっちゃうから、下のサンプルみたいにオブジェクト毎にbuttonModeを切り替えられないし・・・</p>
<div style="text-align:center;width:465px;"><iframe title="DisplayObject3D.buttonMode - wonderfl build flash online" scrolling="no" src="http://wonderfl.net/blogparts/c63dd924cb3e2e7310aea28ad81082877eb38653" width="465" height="490" style="border:1px black solid;"></iframe><a href="http://wonderfl.net/code/c63dd924cb3e2e7310aea28ad81082877eb38653" title="DisplayObject3D.buttonMode - wonderfl build flash online">DisplayObject3D.buttonMode &#8211; wonderfl build flash online</a></div>
<p>ただ、このサンプルみたくオブジェクトが動いてる時にマウスアウトイベントが取れないことがある。Planeがカメラに平行なときにPlaneの端にマウスオーバーしてマウスを止めておいて回転で勝手にマウスアウトになるタイミングとか。こいつを避けるためにはもう一工夫いりそう。</p>]]></content:encoded>
			<wfw:commentRss>http://ferv.jp/blog/2009/11/11/displayobject3d-buttonmode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
