Think About it



Home > Blog

20080108

リンケージ設定


Flash IDE上において、ステージにライブラリにあるシンボル等をスクリプトで配置する場合、
あらかじめ、そのシンボルにリンケージ設定をしてやる必要があります。

方法は、ライブラリ上にあるシンボルを右クリックして、
リンケージプロパティを開き、ActionScriptに書き出し、にチェックを入れてやり、
識別子の名前をつけてやるだけです。

ただし、ここで気をつけなければならないのが、
リンケージ設定では、デフォルトで、
「最初のフレームに書き出し」
にチェックが入っているところです。

小規模なフラッシュや、スクリプトで書き出すシンボル等が少しなのであれば、
特に気にする必要はないのですが、
多くのシンボル、サウンドをこの方法で書き出すとなると注意が必要です。

というのも、swfのファイルサイズが大きくなると、必然的にローディングバー等のローディング処理が必要になります。
ですが、スクリプトで最初のフレームに書き出し処理をさせていると、
このローディングバー自体をロードする前に、これらのシンボルやサウンドの読み込み処理を開始してしまいますので、
ローディングバーが表示された段階では、すでに全体の何パーセントかが読み込まれてしまっていますので、
途中からのローディング処理に見えてしまうわけです。
(ローディングバーが表示されるまでは何も起こってないように見える)

では、どうすればいいのか、といいますと、
ローディングバーを1フレーム目に置いているのであれば、それ以降(2フレーム目以降)に書き出すようにしてやる必要があります。

まず、リンケージプロパティで、「最初のフレームに書き出し」のチェックをはずしてやります。
しかし、何フレーム目に書き出すかの設定はそのプロパティ内にはありません。
これは、設定で書くのではなくて、実際に書き出したいフレームのステージ上に、
そのシンボルを配置してしまえばいいのです。
こうすることによって、その配置したフレームに書き出しが行われます。
(当然、スクリプトで読み込み処理を行っているフレームよりも後ろに書き出してはいけません)
シンボルの場合はこれで完了ですが、サウンドの場合はそのフレームに来た時に、
誤って鳴ってしまわないように、フレームのプロパティの「同期」を、「停止」にしておきましょう。

参考サイト -
Macromedia Flash非公式テクニカルノート - コンポーネントとActionScript 2.0クラスの書出しフレームを変更する
教えて!goo - しばらく真っ白な画面になってしまいます。
Flash CS3 ドキュメンテーション - ステージへのムービークリップシンボルの割り当て

Labels:

----------------------------------------------------------------------------------------------------