コマンドリストを実行している時、
途中のコマンドの結果によって分岐させたい時の方法。
var hogeCommand:HogeCommand = new HogeCommand(); var serial:SerialList = new SerialList(); serial.addCommand( hogeCommand ); serial.addCommand( new Func( function():void { // コマンドの結果で分岐 if ( hogeCommand.value ) { serial.insertCommand( new Trace("コマンドを挟む")); } })); serial.execute();
HogeCommandクラスの実行結果を受け取りたいので
インスタンスを先に作っておきます。
var hogeCommand:HogeCommand = new HogeCommand();
今回のキモ「insertCommand」です。
これにより動的にコマンドを挿入させることができます。
// コマンドの結果で分岐 if ( hogeCommand.value ) { serial.insertCommand( new Trace("コマンドを挟む")); }
このやり方についてはIs It So Easy?さんが詳しく書かれています。
this.parentで挿入することも出来るんですねー。
![]() |
[改訂版]ActionScript3.0プログラミング入門 for Adobe Flash CS4/CS3 ビー・エヌ・エヌ新社 2009-07-23 |
いったい何がキッカケだったのかまったくわからないけど、ある日突然出てきたエラー。
Resource.as、行 44
1004: 名前空間が見つからないか、コンパイル時定数ではありません。
progression_internal static const $collection:IdGroupCollection = new IdGroupCollection();
いろいろ試して、音声ファイルがリンケージされていると発生することがわかりました。
下記のようにごく一般的なファイルを普通にリンケージしただけえす。
ファイル:testse.wav
クラス:testse
基本クラス:flash.media.Sound
「最初のフレームに書き出し」のチェックを外すとエラーは出ません。
しかし上記チェックを外すわけにもいかず色々試していたら、
Index.asに下記の行を追加したらエラーが出なくなりました。
function hogehoge():void { getResourceById("hoge").data; }
この関数はどこからも呼ばれませんが、記述しておくだけで良いようです。
バグなのか仕様なのかはわかりませんが、公式のフォーラムに報告しておきました。
![]() |
ActionScript 3.0 エラーアーカイブス コンパイルエラー・コンパイラ警告・ランタイムエラーの解法 大重美幸 ソシム 2009-09-09 |