- ベストアンサー
外部swfファイルの読込み
Flash Pro8を使用しています。 Flash全体が重くなるため、あるボタンを押したとき、 外部swfファイルを読み込みたいと思っているのですが、 記載するアクションスクリプトがわかりません。 どなたかご存知の方教えていただけないでしょうか。 よろしくお願いします。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
外部SWF や 外部画像 をロードするときは, 普通は,スクリプトだけで片付けません(片づけられますが片づけないのが普通です)。 ムービークリップやコンポーネントなどの "もの" をFlash内に配置して, その "もの" に SWF や 画像 をロード表示させます。 というわけで,とりあえずは, 外部SWFをロード表示したとき, そのSWFのステージ左上のコーナーが来てほしい場所に, 小さなムービークリップでも作成します。 小さな塗りでも描いて, その塗りを選択して「修正」→「シンボルに変換」で ムービークリップに変換するとムービークリップができます。 その小さなムービークリップの「基準点」に外部SWFの左上コーナーが表示されますから, 作成したムービークリップを移動させて「基準点(+印)」の位置を調節します。 ムービークリップを配置する場所は,座標のみならずレイヤーも選択できますね。 そして, その小さなムービークリップを選択した状態で, 下のプロパティインスペクタ(プロパティパネル)を開いて, 左の方にある, [ムービークリップ v] [ <インスタンス名> ] となっている <インスタンス名> のグレー文字部分にインスタンス名を記入します。 インスタンス名は半角文字でアルファベットから始まるような名前でしたらたいてい何でもかまいません。 この説明では 「load_mc」 というインスタンス名を付けることにしておきます。 ボタンをクリックしたとき, この 「load_mc」 に外部SWFをロード表示させれば良いわけですから, ボタンには次のように書きます。 ------------------------------ on (release) { // _root にある load_mc に 外部SWF をロード _root.load_mc.loadMovie("外部SWFのあるURL"); } ------------------------------- または,次のように _root など絶対パスを省略しても良いと思います。 ------------------------------ on (release) { // ボタンと同じ階層にある load_mc に 外部SWF をロード load_mc.loadMovie("外部SWFのあるURL"); } ------------------------------- 最初に書きましたが, ムービークリップを手動で作成する場合,レイヤーも選べますよね。 SWF は JPEG(単に四角いファイル) と違って, ステージからはみだす部分も出て来る場合があります。 そのはみだしが気になる場合は, 全体にマスクをかけたSWFをロードしても良いですし, 読み込む側の「load_mc」の上レイヤーに, TVの枠のようなくり抜いた塗りを用意しても良いと思います。 ここがムービークリップを手動で作成して配置する場合の大メリットです。 あと外部SWFをロードする前に「load_mc」の塗りの色が気になる場合は, 透明な塗りにしておいてもかまいません。 その辺は色々工夫次第です。
お礼
ご回答ありがとうございます。 とってもわかりやすい説明で、その通りの設定で すぐに外部SWFの読込みができました♪ また、塗りの色、メリットなどの点も詳しく ご説明頂いて、知らなかったことも習得できました。 本当にありがとうございます。