やっと「そうめん」触ったよ(3) -ドキュメントクラス-
2008/10/25 23:47 - AS3.0
今回からコードの話になるわけですが、この「そうめん」を使ったコードというのは、他に類を見ない特異な構成をしてますなぁ。 ドキュメントクラスが二段構えになっているじゃあありませんか。
公式で配布されているサンプルを見ると、ドキュメントクラスとして Sample.as がプロジェクトの最上層に配置されています。 多くの場合、Main.as という名称になっているクラスですね(以下 Main と表記)。
で、普通はこの Main にプログラムの全体的な挙動が書かれているものですが、そうめんにおける Main は違います。 プログラム処理全体のための初期化と、次に引き継ぐ Thread を呼び出して start するだけで、コードは多くの場合、以下の3行で終わっています。
Thread.initialize(new EnterFrameThreadExecutor()); var main:MainThread = new MainThread(); main.start();
そして MainThread.as(以下 MainThread と表記)の中身を見てみると、そこにプログラムに固有の処理がいろいろ書いてあるのが分かります。 そう。 実質的なドキュメントクラスは Flash IDE や Flex SDK が最初に呼び出す Main ではなくむしろ MainThread の方なのですね。
なお、公式のサンプルでは Main にこの3行以外の記述があるものも存在しますが、それらの部分は MainThread に移して、Main はこの3行だけに書き換えることが充分可能です。
そしてこの MainThread から、Thread を継承したカスタム thread クラスを、シーケンシャルに呼び出していろいろな処理をおこなう、というのが「そうめん」の記法であるようです。
MainThread が最初に呼び出したカスタム thread が終了したら兄弟階層の別のカスタム thread を呼び出す、あるいは、MainThread が最初に呼び出したカスタム thread 内部で子階層のカスタム thread を呼び出す…… といった感じでいろいろな thread が一本の糸につながるように処理を流していくわけですな。