<?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>memo.393 &#187; AS3</title>
	<atom:link href="http://memo.393.bz/archives/tag/as3/feed" rel="self" type="application/rss+xml" />
	<link>http://memo.393.bz</link>
	<description>個人的メモです。間違いなどありましたらご指摘ください。。。</description>
	<lastBuildDate>Sun, 27 Nov 2011 15:27:41 +0000</lastBuildDate>
	<language>ja</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>[AS]AS3での、TextField.htmlTextでつかえる、HTML,CSSのまとめ</title>
		<link>http://memo.393.bz/archives/1677</link>
		<comments>http://memo.393.bz/archives/1677#comments</comments>
		<pubDate>Wed, 19 Oct 2011 12:03:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1677</guid>
		<description><![CDATA[以前作ったもの。 ネットで検索できるようにメモ。]]></description>
			<content:encoded><![CDATA[<p>以前作ったもの。<br />
ネットで検索できるようにメモ。</p>
<p><a href="http://memo.393.bz/wp-content/uploads/2011/10/Clipboard01.jpg" target="_blank"><img src="http://memo.393.bz/wp-content/uploads/2011/10/Clipboard01-150x150.jpg" alt="" title="Clipboard01" width="150" height="150" class="alignnone size-thumbnail wp-image-1678" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1677/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS][iPhone]FlashBuilder4.5のActionScriptモバイルプロジェクトで横向き固定の設定をした場合のステージサイズを正しく取得する方法</title>
		<link>http://memo.393.bz/archives/1592</link>
		<comments>http://memo.393.bz/archives/1592#comments</comments>
		<pubDate>Sun, 14 Aug 2011 12:39:45 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1592</guid>
		<description><![CDATA[前の記事の続き、 FlashBuilder4.5のActionScriptモバイルプロジェクトでの設定のお話。 まず横向き固定にする方向は、hoge-app.xmlに &#60;!-- hoge-app.xml内のinit [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://memo.393.bz/archives/1585" target="_blank">前の記事の続き、</a><br />
FlashBuilder4.5のActionScriptモバイルプロジェクトでの設定のお話。</p>
<p>まず横向き固定にする方向は、hoge-app.xmlに</p>
<pre name="code" class="xml">

&lt;!-- hoge-app.xml内のinitialWindow要素に指定 --&gt;
&lt;aspectRatio&gt;landscape&lt;/aspectRatio&gt; 
</pre>
<p>を設定するだけでOK。<br />
これでデバッグプレビューすると確かに横向きでプレビューされる。<br />
が、stage.stageWidthは320、stage.stageHeightは480と変更されていない。<br />
(ちなみにFlexモバイルプロジェクトの場合はstage.stageWidthは480、stage.stageHeightは320となり問題ないようす)</p>
<p>ではどうしたらいいか、<br />
結論としては、ドキュメントクラスのコンストラクタに以下の一行を追加<br />
stage.setAspectRatio(StageAspectRatio.PORTRAIT); </p>
<pre name="code" class="as">

//前提で、hoge-app.xmlに&lt;aspectRatio&gt;landscape&lt;/aspectRatio&gt;と設定
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
trace(stage.stageWidth, stage.stageHeight); //出力：320,480
stage.setAspectRatio(StageAspectRatio.PORTRAIT);
trace(stage.stageWidth, stage.stageHeight); //出力：480,320
</pre>
<p>解せないのが、なぜPORTRAITなのか。<br />
通常はPORTRAITは縦、LANDSCAPEは横をあらわすので、stage.setAspectRatio(StageAspectRatio.LANDSCAPE);と設定すればいいと思ったのだけど、これだとstage.stageWidthは320、stage.stageHeightは480のままとなった。</p>
<pre name="code" class="as">

//前提で、hoge-app.xmlに&lt;aspectRatio&gt;landscape&lt;/aspectRatio&gt;と設定
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
trace(stage.stageWidth, stage.stageHeight); //出力：320,480
stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
trace(stage.stageWidth, stage.stageHeight); //出力：320,480
</pre>
<p>解せぬ。</p>
<hr />
<p><font color="red"><strong>※2011.8.15追記</strong></font><br />
上記設定だと実機転送した際に横方向にはならない様子。。。<br />
やはりsetAspectRatio()にはStageAspectRatio.LANDSCAPEを設定しないと横向き固定にはなりませんでした。<br />
上に書いたLANDSCAPE設定での懸念されるステージサイズは、<br />
trace(stage.stageWidth, stage.stageHeight); //出力：320,480<br />
となっているようで実機起動上では特に問題なさげ。<br />
ステージサイズがちゃんと取れないのはデバッグプレビューだけでのバグってことなのか！？</p>
<p><font color="red"><strong>※2011.8.18追記</strong></font><br />
コメント欄にて教えていただきました。<br />
stage.setOrientation(StageOrientation.DEFAULT)を設定することで想定したstageサイズを取得することができました。</p>
<pre name="code" class="as">

//前提で、hoge-app.xmlに&lt;aspectRatio&gt;landscape&lt;/aspectRatio&gt;と設定
stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
trace(stage.stageWidth, stage.stageHeight); //出力：320,480
stage.setAspectRatio(StageAspectRatio.LANDSCAPE);
stage.setOrientation(StageOrientation.DEFAULT)；
trace(stage.stageWidth, stage.stageHeight); //出力：480,320
</pre>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1592/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[AS][iPhone]FlashBuilder4.5のActionSclriptモバイルプロジェクトにて、iOSでプレビューした際のステージサイズが正常に取れない場合</title>
		<link>http://memo.393.bz/archives/1585</link>
		<comments>http://memo.393.bz/archives/1585#comments</comments>
		<pubDate>Sun, 14 Aug 2011 10:12:31 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1585</guid>
		<description><![CDATA[だいぶはまってネットに情報が見当たらなかったのでメモ。 FlashBuilder4.5でiPhone、Androind等のアプリを作るため、以下2つのプロジェクトが用意されました。 Flexモバイルプロジェクト Acti [...]]]></description>
			<content:encoded><![CDATA[<p>だいぶはまってネットに情報が見当たらなかったのでメモ。</p>
<p>FlashBuilder4.5でiPhone、Androind等のアプリを作るため、以下2つのプロジェクトが用意されました。</p>
<ol>
<li>Flexモバイルプロジェクト</li>
<li>ActionScriptモバイルプロジェクト</li>
</ol>
<p>1.はMXMLベースのプロジェクトで2はASだけで作れるプロジェクト。<br />
ボクはMXMLはさっぱりなのでASだけで作れる2.を選択。<br />
普通のFlashコンテンツを作ると同様にドキュメントクラスからゴリゴリ書いていけばOKですが、<br />
iOS用の書き出しをした際にステージサイズの参照値おかしなことになりました。</p>
<p>こちらの想定は、シミュレートデバイスが、iPhone3GSなら320 × 480、<br />
iPhone4設定なら、640 × 960となってほしいところですが、<br />
stage.stageWidth,stage.stageHeightのtrace結果は常に、500, 375</p>
<p>なんぞこれ、と思えどステージサイズの設定する箇所は見当たらず。<br />
ためしにapp.xmlのwidthとheightに直接値(320 480)を入れてみるも変化無し。<br />
さらにドキュメントクラスにSWFのembedタグを書いてみるも変化無し。</p>
<hr />
<p>FlashBuilderのHelpを観てみるとこんなページに行き着きました。<br />
<a href="http://www.randytroppmann.com/2011/04/12/pure-as3-workflow-with-flex-builder-4-5/" title="Purely mobile AS3 workflow with Flash Builder 4.5" target="_blank">http://www.randytroppmann.com/2011/04/12/pure-as3-workflow-with-flex-builder-4-5/</a></p>
<p>そこに書かれていた見慣れぬ1行を追加してみると。。。</p>
<pre name="code" class="as">

stage.displayState = StageDisplayState.FULL_SCREEN_INTERACTIVE;
</pre>
<p>これを入れることでstage.stageWidth,stageHeightが想定通りの値となりました。<br />
(シミュレートデバイスを変えることにより値も変化する)<br />
とりあえず、よくわからんけど、上記一行は必須らしい。</p>
<hr />
<p>P.S.<br />
Retina対応もできるらしいけど、3G/3GSとRetinaの混合設定がよくわからん。。<br />
 <requestedDisplayResolution>high</requestedDisplayResolution>を書くだけで、Objective-Cみたいに自動でいい感じに変換してくれるのか、それとも2種類の画角を分けて作らないのいけないのか。。<br />
Retinaの実機がないから検証できんのよね。。</p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1585/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>[AS]ProgressionのPreloaderで&#8221;「Error #2044: ハンドルされていない ioError : text=Error #2036: 読み込みが未完了です。 URL: index.swf?&#8221;となってしまう場合の対処方法</title>
		<link>http://memo.393.bz/archives/1568</link>
		<comments>http://memo.393.bz/archives/1568#comments</comments>
		<pubDate>Sun, 10 Jul 2011 10:23:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[progression4]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1568</guid>
		<description><![CDATA[ProgressionでPreloader.asからindex.swfを読み込むときにこんなエラーダイアログに悩まされてました。 どういうときにこのエラーになるかというと、Preloader.swfがindex.swfの [...]]]></description>
			<content:encoded><![CDATA[<p>ProgressionでPreloader.asからindex.swfを読み込むときにこんなエラーダイアログに悩まされてました。</p>
<p><a href="http://memo.393.bz/wp-content/uploads/2011/07/hoge.jpg" target="_blank"><img src="http://memo.393.bz/wp-content/uploads/2011/07/hoge-150x150.jpg" alt="" title="hoge" width="150" height="150" class="alignnone size-thumbnail wp-image-1569" /></a></p>
<p>どういうときにこのエラーになるかというと、Preloader.swfがindex.swfの読みこみが終わらないうちに、ブラウザを閉じてしまうとこうなります。<br />
index.swfが重い場合、「ローディング長いからもう観なくていいや」ってブラウザ落とすと上記ダイアログで固まるんですね。<br />
最高にうざい状態です。</p>
<p>で、エラーとしては、IOErrorってわかってるので、そこのエラー処理を書いてあげればいいんですけど、読み込みの処理はPreloader.asの親クラスに書いてあるので、どのオブジェクトに対して、IOErrorのハンドリングをすればいいのかわからなかったのですが、ついに重い腰をあげて親クラスの中身を覗いてみたら、5分で解決したというオチです。</p>
<p>結論としては、こんな感じ。</p>
<pre name="code" class="as">

//Preloader.asの atReady()の中に一行追加
override protected function atReady():void{
//↓これを追加
this.addEventListener(IOErrorEvent.IO_ERROR, function():void { trace(&quot;エラー&quot;) } );
}
</pre>
<p>Preloader.asのatReady()の中で、thisに対してIOErrorのハンドリングを書けばOKです。</p>
<p>なぜ、thisに書くかといえば、Preloader.asの親クラス、CastPreloader.asの中にこの一行があるので。</p>
<pre name="code" class="as">

_loader.contentLoaderInfo.addEventListener( IOErrorEvent.IO_ERROR, super.dispatchEvent );
//_loaderはindex.swfを読むためのもの
</pre>
<p>リスナー関数でsuper.dispatchEventを飛ばしてるから、Preloader.asのthisでイベントを取れるようです。</p>
<p>ちなみに、CastPreloader.as内の_loaderは、Preloader.asからはcontentLoaderInfoで参照が取れるので、Preloader.as内で、</p>
<pre name="code" class="as">

//thisの代わりにcontentLoaderInfoでイベントをハンドリング
contentLoaderInfo.addEventListener(IOErrorEvent.IO_ERROR, function():void { trace(&quot;エラー&quot;) } );
</pre>
<p>という感じで書いてみると、一応traceは出力されるんですけども、traceの前に最初のエラーが表示されてしまい、まったく意味がないことになりました。<br />
なので、contentLoaderInfoではなく、素直にthisでIOErrorEventをハンドリングすればOK。</p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1568/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS]SWFSizeを使うとIE6でフリーズする場合はDTD宣言に注意する</title>
		<link>http://memo.393.bz/archives/1539</link>
		<comments>http://memo.393.bz/archives/1539#comments</comments>
		<pubDate>Tue, 31 May 2011 14:39:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1539</guid>
		<description><![CDATA[はまったのでメモメモ。 FlashをHTMLでの領域を指定できる便利ライブラリSWFSize。 Progressionにも採用されてて単体で使うケースがあんまりなかったのだけど、単体で使ったらIE6だけでエラーになった。 [...]]]></description>
			<content:encoded><![CDATA[<p>はまったのでメモメモ。</p>
<p>FlashをHTMLでの領域を指定できる便利ライブラリSWFSize。<br />
Progressionにも採用されてて単体で使うケースがあんまりなかったのだけど、単体で使ったらIE6だけでエラーになった。<br />
具体的には最低サイズ以下(resizeが機能したとき）になるとブラウザが固まる。</p>
<p>なんだこりゃとググってみると開発者のHIGEさんからの<a href="http://forum.progression.jp/index.php?topic=469.msg1727#msg1727" target="_blank">コメント</a>が。</p>
<p>さらにググるとボクのケースでの原因と一致する記事を発見。<br />
<a href="http://www.m-bsys.com/error/ie-onresize" target="_blank">IEでonresizeの操作がうまくいかない &#8211; Miuran Business Systems</a></p>
<p>具体的にはDTDがonresizeに対応していなかったということ。</p>
<pre name="code" class="html">

&lt;!--最初に書いてた宣言--&gt;
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;

&lt;!--修正した宣言--&gt;
&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot;&gt;
&lt;!--&quot;http://www.w3.org/TR/html4/loose.dtd&quot;を削除--&gt;
</pre>
<p>普段DOCTYPE宣言とか意味もよくわからず呪文のように書いてる（正確にはコピペ&#8230;）からこういうところよくわからんです。。</p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1539/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS]fl.swcを使った際にちょっとはまったこと</title>
		<link>http://memo.393.bz/archives/1533</link>
		<comments>http://memo.393.bz/archives/1533#comments</comments>
		<pubDate>Thu, 12 May 2011 07:02:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1533</guid>
		<description><![CDATA[ちょっとはまったので検索用のメモ FlashIDEを使わずにFlexSDK(FlashDevelop)で製作中に、Flashのコンポーネント(具体的にはComboBox)が使いたいと。 FlashDevelopにはコンポ [...]]]></description>
			<content:encoded><![CDATA[<p>ちょっとはまったので検索用のメモ</p>
<p>FlashIDEを使わずにFlexSDK(FlashDevelop)で製作中に、Flashのコンポーネント(具体的にはComboBox)が使いたいと。<br />
FlashDevelopにはコンポーネントのライブラリが入ってない。<br />
どっかにないかなと探すとfl.swcってやつが見つかった。</p>
<p><a href="http://evolve.reintroducing.com/downloads/">EVOLVE | Downloads</a></p>
<p>DLして、プロジェクトにライブラリパスを通すとコンポーネント系のコード補完がでるようになってインスタンス化することもできるようになった。</p>
<p>がしかし、addChidすると以下のようなエラーがでる。</p>
<blockquote><p>
TypeError: Error #2007: パラメーター child は null 以外でなければなりません。<br />
	at flash.display::DisplayObjectContainer/addChildAt()<br />
	at fl.controls::BaseButton/drawBackground()<br />
	at fl.controls::BaseButton/draw()<br />
	at fl.core::UIComponent/drawNow()<br />
	at fl.controls::ComboBox/drawLayout()[D:\DEVELOP\test_lib\fl\controls\ComboBox.as:1500]<br />
	at fl.controls::ComboBox/draw()[D:\DEVELOP\test_lib\fl\controls\ComboBox.as:1421]<br />
	at fl.core::UIComponent/callLaterDispatcher()
</p></blockquote>
<p>たぶんコードはあるけど、アセット的なグラフィックデータが用意されてないんじゃないかなぁ、と。<br />
ランタイムエラーかつ、妙な時間差で発生するので、何が悪いかわからなくてちょっとはまってしまった。<br />
対策としては、FlashIDEからあらかじめComboBoxクラスを埋め込みアセットクラスでswcとかにして書き出しておき、それを使えばaddChildしてもエラーにならずに使うことができるよ、と。</p>
<p>あらかじめ、コンポーネント一式を含んだオレオレswcを用意しておいてもいいかもね。</p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1533/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[Event][AS]スクリーンセーバー作りました。&gt;&gt;Re-BUILD</title>
		<link>http://memo.393.bz/archives/1512</link>
		<comments>http://memo.393.bz/archives/1512#comments</comments>
		<pubDate>Tue, 26 Apr 2011 07:36:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>
		<category><![CDATA[PV3D]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1512</guid>
		<description><![CDATA[先日、東京てらこ 15で発表してきたお話をメモ。 本題は、スクリーンセーバーDL用の特設サイト作りましたよってお話。 Re-BUILD ////////////////////////////////////////// [...]]]></description>
			<content:encoded><![CDATA[<p>先日、<a href="http://teraco.jp/2011/04/12-111001.php">東京てらこ 15</a>で発表してきたお話をメモ。</p>
<p>本題は、スクリーンセーバーDL用の特設サイト作りましたよってお話。<br />
<a href="http://re-build.393.bz" target="_blank">Re-BUILD</a></p>
<p>////////////////////////////////////////////////////////////////////////////<br />
まず最初からスクリーンセーバーを作ろうと思ったわけじゃなくって。。<br />
以前から考えてたネタをワンダフル用に作ってたら、アレもコレもとだんだんと手がこんできたので、これスクリーンセーバーにすればいいんじゃね、と。<br />
じゃあSWFをスクリーンセーバーにするにはどうすりゃいいの？ってことで調べてみました。</p>
<p>ざくっとググって以下の二つが見つかりました。</p>
<ul>
<li>1)<a href="http://www.forest.impress.co.jp/article/2008/02/28/instantstorm.html" target="_blank">InstantStorm</a>：winのみ</li>
<li>2)<a href="http://flaver.jp/" target="_blank">fla:ver</a>：win/mac</li>
</ul>
<p>1)は完全無料でいろいろかゆいとこに手が届くような感じだけどmac用は不可<br />
とりあえずwin用にはこっちを使いました。</p>
<p>2）はwin/macどちらも対応で、低機能の無料版と高機能の有料版があるんだけど無料版ではOSX10.6用（64bit版）の対応はできない、と。<br />
win用/mac用で個々にライセンスが分かれていて各ライセンスが19,800円<br />
win/mac、まとめて買うと34,800円。<br />
mac用にはこっちの有料版を使いました。<br />
・・・えぇ、mac用のライセンス買いましたよ。19,800円。</p>
<p>////////////////////////////////////////////////////////////////////////////<br />
あと製作に関する裏話的なこと。</p>
<p>もともとは数年前にみた海外のサイト（たぶん製作会社だったと思う。。）で、地平線がみえるようなシンプルなランドスケープなデザインに、ランダムに家がでてきてスクロールして流れていくようなやつをみたときに、こういうの作ってみたいなーと思ってたのが最初。<br />
（当のサイトはググっても見つけられず。。思い出補正でぜんぜん違うものかも。。）</p>
<p>なんとなくChemical Brothers &#8211; Star Guitarを思い出した人もいるかも<br />
<a href="http://youtu.be/Ws_R_GxZX2o" target="_blank">Chemical Brothers &#8211; Star Guitar </a><br />
これ、好きなんです。DVD持ってます。</p>
<p>あと、groovisions &#8211; GRV2196を思い出した人もいるかも<br />
<a href="http://www.groovisions.com/works/grv2196_station_navi/" target="_target">GRV2196</a><br />
これ、好きなんです。DVD持ってます。</p>
<p>++++++++++++++++++++++++++++++++++++++++++++<br />
GRV2196はyoutubeになかったけどGRV2126を発見。<br />
これは観てなかったのだけど、トラックの形とかそっくりだったｗ<br />
(トラックは軽トラの側面画像を適当にトレースしてたんだけどね）</p>
<p><iframe title="YouTube video player" width="465" height="378" src="http://www.youtube.com/embed/8VYpI51sJS4" frameborder="0" allowfullscreen></iframe></p>
<p>////////////////////////////////////////////////////////////////////////////<br />
元になるソースはwonderflにアップしてあります。<br />
（実際にスクリーンセーバーに使ってるものとはちょっと違います）<br />
なにげに車を描画するクラスがボリュームありますｗ</p>
<p><script type="text/javascript" src="http://wonderfl.net/blogparts/ujlV/js"></script>
<p class="ttlBpWonderfl" style="width: 465px; margin: 0; text-align: right; font-size: 11px;"><a href="http://wonderfl.net/c/ujlV" title="Re-BUILD">Re-BUILD &#8211; wonderfl build flash online</a></p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1512/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>[AS]Embedした複数の画像(クラス)を連番(文字列)で参照したい場合の方法</title>
		<link>http://memo.393.bz/archives/1486</link>
		<comments>http://memo.393.bz/archives/1486#comments</comments>
		<pubDate>Mon, 14 Mar 2011 16:25:55 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Embed]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1486</guid>
		<description><![CDATA[たとえば、aImage00.png,aImage01.png,aImage02.pngって画像をEmbedで埋め込んだ場合に、クラス名をfor文とかでまわすにはどうすればいいかということ。 二通りのやり方があるみたい。  [...]]]></description>
			<content:encoded><![CDATA[<p>たとえば、aImage00.png,aImage01.png,aImage02.pngって画像をEmbedで埋め込んだ場合に、クラス名をfor文とかでまわすにはどうすればいいかということ。</p>
<p>二通りのやり方があるみたい。<br />
まずは、ここの記事に教えていただきました。<br />
<a href="http://www.two-hearts.net/2011/03/embed.html" target="_blank">[Embed]したものを動的に使いたいとき:TWO HEARTS</a></p>
<p>ポイントはstaticにして、配列アクセス演算子を使うということ。<br />
直感的に納得できる感じ。<br />
↓サンプルソース</p>
<pre name="code" class="as">

package assetImage
{
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.utils.getDefinitionByName;

	public class Main2 extends Sprite
	{
		[Embed(source = &#039;asset/aImage00.png&#039;)] private static var AImage0:Class;
		[Embed(source = &#039;asset/aImage01.png&#039;)] private static var AImage1:Class;
		[Embed(source = &#039;asset/aImage02.png&#039;)] private static var AImage2:Class;

		public function Main2():void
		{
			for (var i:int =  0; i &lt; 3; i++)
			{
				var bm:Bitmap = new Main2[&quot;AImage&quot; + i];
				addChild(bm).x = bm.width * i + 20 * i;
			}
		}
	}
}
</pre>
<p>つづいて、getDefinitionByNameを使う方法<br />
ここで教えていただきました。<br />
<a href="http://castor.s26.xrea.com/blog/tech/as3" target="_blank">■ 埋め込みアセットクラスをgetDefinitionByName()で参照する :棚からパルチャギ</a></p>
<p>こっちは埋め込むクラス名に対して、埋め込んだ場所のクラスをパッケージから書いたりとと直感的には全くわからない仕様。<br />
(どうもmxmlのお作法もまざってるっぽい)<br />
↓サンプルソース</p>
<pre name="code" class="as">

package assetImage
{
	import flash.display.Bitmap;
	import flash.display.Sprite;
	import flash.events.Event;
	import flash.utils.getDefinitionByName;

	public class Main1 extends Sprite
	{
		[Embed(source = &#039;asset/aImage00.png&#039;)] private var AImage0:Class;
		[Embed(source = &#039;asset/aImage01.png&#039;)] private var AImage1:Class;
		[Embed(source = &#039;asset/aImage02.png&#039;)] private var AImage2:Class;

		public function Main1():void
		{
			for (var i:int =  0; i &lt; 3; i++)
			{
				var bm:Bitmap = new (getDefinitionByName(&quot;assetImage.Main_AImage&quot;+i) as Class);
				addChild(bm).x = bm.width * i + 20 * i;
			}
		}
	}
}
</pre>
<p>とりあえずどっちでもよさげ。</p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1486/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[AS]FMSにアップしたmp4なファイルをFLVPlaybackで再生するときのファイルパス指定の注意</title>
		<link>http://memo.393.bz/archives/1480</link>
		<comments>http://memo.393.bz/archives/1480#comments</comments>
		<pubDate>Mon, 21 Feb 2011 17:11:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[FMS]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1480</guid>
		<description><![CDATA[結構はまったのでメモ まず、以前のエントリーでFMS経由で動画ファイルを指定する際は拡張子が不要ということを書いたけど、これは正確ではなかった。 正確には、[FMSにflv形式でアップされているファイル]にアクセスすると [...]]]></description>
			<content:encoded><![CDATA[<p>結構はまったのでメモ</p>
<p>まず、<a href="http://memo.393.bz/archives/489">以前のエントリー</a>でFMS経由で動画ファイルを指定する際は拡張子が不要ということを書いたけど、これは正確ではなかった。<br />
正確には、[FMSにflv形式でアップされているファイル]にアクセスするときは、拡張子を書かないが正解。</p>
<p>では、f4v形式や、mp4形式のファイルをアップした際はどうするか？<br />
単純に拡張子をつければいいわけではなかった。<br />
ファイル名の頭に、[mp4:]をつける必要があった。</p>
<pre name="code" class="as">

//独自プレイヤーでの実装例（いろいろ省略）
var nc:NetConnection = new NetConnection();
nc.connect(&quot;rtmp://hoge.moge.ore/dore&quot;);
var ns:NetStream = new NetStream(nc);
ns.play(&quot;mp4:hoge.mp4&quot;);
//ns.play(&quot;mp4:hoge.f4v&quot;);//f4v形式での例
</pre>
<p>以上を踏まえて、FLVPlaybackを利用する際のパス指定も同じにしようと思ったらそうはいかなかった。</p>
<p>悪い例</p>
<pre name="code" class="as">

//誤ったファイルパスの指定
var flvPlayback:FLVPlayback = new FLVPlayback();
flvPlayback.play(&quot;rtmp://hoge.moge.ore/dore/mp4:hoge.mp4&quot;);
</pre>
<p>これだとうまく接続できなかった。<br />
<a href="http://help.adobe.com/ja_JP/FlashMediaServer/3.5_Deving/flashmediaserver_3.5_dev_guide.pdf">FMSのヘルプ</a>を観てると、違った書き方をしてる例があった。<br />
（19ページの上の方）</p>
<p>正しい例</p>
<pre name="code" class="as">

var flvPlayback:FLVPlayback = new FLVPlayback();
flvPlayback.play(&quot;rtmp://hoge.moge.ore/mp4:dore/hoge.mp4&quot;);
</pre>
<p>[mp4:]の記述はファイルの頭ではなく、ひとつ上のフォルダに記述するらしい。<br />
なんでかは詳しくわからんけども、今回はこれでうまく接続できた。<br />
うまくいかない人は試してみるといいかも。</p>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1480/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>[AS]FlashIDEでのカラー効果→「スタイル：着色」内の各項目をASでコントロールするには？</title>
		<link>http://memo.393.bz/archives/1432</link>
		<comments>http://memo.393.bz/archives/1432#comments</comments>
		<pubDate>Thu, 13 Jan 2011 09:17:09 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[ActionScript]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flash]]></category>

		<guid isPermaLink="false">http://memo.393.bz/?p=1432</guid>
		<description><![CDATA[世の中に記事がなさそうだったのでメモ。 考えればすぐわかりそうだけど、ちょっと迷った。 MovieClipの色変更したいときは、変更したい色情報を持ったColorTransformインスタンスを生成、 DisplayOb [...]]]></description>
			<content:encoded><![CDATA[<p>世の中に記事がなさそうだったのでメモ。<br />
考えればすぐわかりそうだけど、ちょっと迷った。</p>
<p>MovieClipの色変更したいときは、変更したい色情報を持ったColorTransformインスタンスを生成、<br />
DisplayObject.transform.colorTransformに突っ込んであげればよい。</p>
<pre name="code" class="as">

//オレンジ色を四角を生成
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xFFCC00);
mc.graphics.drawRect(0,0,100,100);
addChild(mc);

//白くする
var ct:ColorTransform =  new ColorTransform(1,1,1,1,255,255,255,0);
mc.transform.colorTransform = ct;
</pre>
<p>ColorTransformのコンストラクタに与える引数の各項目に関しては、&#8221;FlashIDEでのカラー効果→「スタイル：詳細」&#8221;のパラメータと一致する。<br />
(どの項目がどれにあたるかはリファレンス参照）</p>
<p>ところがColorTransformでは「スタイル：着色」にある「濃淡」の項目がまかなえない。（と思う）<br />
では濃淡項目はAS的になんになるのか？</p>
<p>たぶんColorクラスのbreigtnessプロパティと思う。<br />
なのでColorクラスを使う。<br />
Colorクラスは、ColorTransformクラスを継承したクラスなので、同じように設定可能。<br />
以下のようにすればOK。</p>
<pre name="code" class="as">

import fl.motion.Color;

//オレンジ色を四角を生成
var mc:MovieClip = new MovieClip();
mc.graphics.beginFill(0xFFCC00);
mc.graphics.drawRect(0,0,100,100);
addChild(mc);

//濃度50%で白くする
var col:Color =  new Color(1,1,1,1,255,255,255,0);
col.brightness = 0.5;
mc.transform.colorTransform = col;
</pre>
]]></content:encoded>
			<wfw:commentRss>http://memo.393.bz/archives/1432/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

