ActionScript Beautifl Code〜Beautifl: Flash Gallery of wonderfl〜 の紹介

ActionScript Beautifl Code〜Beautifl: Flash Gallery of wonderfl〜 の紹介

昨日の記事のイベントでも登壇されたClockMaker 池田さんが執筆した書籍
ActionScript Beautifl Code〜Beautifl: Flash Gallery of wonderfl〜
何の因果か自分の拙いサンプルも載っていることから献本いただきましたので
紹介させていただきます。

“ActionScript Beautifl Code〜Beautifl: Flash Gallery of wonderfl〜 の紹介” の続きを読む

Windows 7とWindows Vista で SoundChannelがnullになる

Windows7とWindowsVistaでSoundChannelがnullになる

プラットフォーム依存しないことが大きな売りである筈のFlash君が
Windows7とVistaでのみ動かない事態に遭遇し、
解決に多大な労力を費やしたのでメモ。
願わくば同じ境遇の人が検索で引っかかってくれますよう。

結論を述べると、Windows7とWindowsVistaのPCにサウンドの出力装置が接続されていないと、
SoundChannelがnullで返ってきます。

var sc:SoundChannel = sound.play(); //戻り値がnullらしい

sc.soundTransform = new SoundTransform(0.5);//エラー

if(sc  != null)sc.soundTransform = new SoundTransform(0.5);//解決

イヤホン指したら普通に動いたときは狐につままれた気分でした。。。

 
イヤホンで検索したら出てきた。
http://www.flash-jp.com/modules/newbb/viewtopic.php?topic_id=9794&forum=6

テキストリンクから関数を実行する

HTMLテキストから関数を実行するasfunctionメソッド、知らなかった。
下記のようなXMLをhtmlTextとしてテキストフィールドに読み込むと、
“関数を叩く!”部分のリンクを叩いて、_rootのhogeFunc関数を叩くことができます。
(こんなことをする状況がよくわからないが)

■XML
<xml>
	<Function>XMLから読み込んだHTMLテキストから、<a href="asfunction:_root.hogeFunc,hoge">関数を叩く!</a></Function>
</xml>

HTMLテキストとして読み込んで、タイムラインには以下の関数。

■AS
//@_rootタイムライン
function hogeFunc(a:String){
	trace("XMLから関数が!引数は" + a);//出力:XMLから関数が!引数はhoge
}

カンマ区切りで引数を付与することもできます。
注意点としてはテキストフィールドを基点として階層指定すること。(→_root)
AS3でも同じように書いてみましたが、動きませんでした。 AS2限定なのか?

追記:
AS3 では asfunction の代わりに TextEvent.LINK を使うそうです。
http://blog.kaihatsubu.com/archives/001637.html