Macromedia Flash非公式テクニカルノート コンポーネントとActionScript 2.0クラスの書出しフレームを変更する
Platform: All コンポーネントはパブリッシュ時、デフォルトではメインタイムラインの第1フレームの前に書出されます。つまり、コンポーネントのデータは、第1フレームが表示される前にロードされます。したがって、そのデータサイズが大きければ、プリローダを使用しても、コンポーネントのデータをロードしなければ、その表示自体されないという結果になります。 図001■Flash MX 2004のコンポーネント Flash MXでは、コンポーネントの[リンケージ]([リンケージプロパティ]または[シンボルプロパティ])の設定を変えるだけで、その書出しフレームを変更することができました。しかし、MX 2004では、その他にActionScript 2.0の[クラス用のフレームの書き出し]も、併せて変更しなければなりません。 1. ActionScript 2.0クラス用フレームの書出し 図002■ActionScript設定ダイアログボックス
コンポーネントは、それを直接制御するクラスだけでなく、UIObjectやUIComponentなどの継承されるスーパークラスや、DepthManager、FocusManagerなどのマネージャクラスを自動的にロードします。それらのActionScript 2.0クラスを第2フレーム以降に書出すことで、メインタイムライン第1フレームの表示を早め、プリローダを利用することが可能になります。
2. リンケージ書出し 図003■リンケージプロパティダイアログボックス コンポーネントの[リンケージ]は、そのロード時にActionScript 2.0クラスとの関連づけも行われます。したがって、ActionScript 2.0クラスが[リンケージ]の設定よりも後のフレームに書出されると、その関連づけが行われず、コンポーネントは正しく動作しません。 図004■ActionScript 2.0クラスの書出しがリンケージより後のフレームに設定された場合 なお、ActionScript 2.0クラスのフレーム書出しは、一括の設定で、コンポーネントごとに変更することはできません。したがって、[クラス用のフレームの書き出し]を第2フレーム以降に変更したときは、使用するコンポーネントの[リンケージ]はすべて[最初のフレームに書き出し]のチェックを外し、必要なフレームに各コンポーネントインスタンスを配置しておく必要があります。 _____ 作成者: 野中文雄 Copyright © 2001-2006 Fumio Nonaka. All rights reserved. |
||||