• 締切済み

外部swfを読み込んだときのずれ

flashのファイルにムービークリップ(a_mc)を置き、そこに外部からswf(b.swf)を読み込みたいのですが、どうしてもそのムービークリップに重ならず、ずれてしまいます。メインの画面(540pix×540pix)の左上にくっついてしまう状態です。a_mcとb.swfのサイズを同じにして(225pix×300pix)基準点を左上にしてみてもだめです。 フレームアクションはこんなかんじです。↓ loadMovie("b.swf", "a_mc"); 外部から読み込んだファイルの位置を座標指定できるような方法など、わかる方がいらっしゃったら、よろしくお願い致します。

みんなの回答

noname#35109
noname#35109
回答No.1

「b.swf」の一番下のレイヤーに, ステージと同じ大きさの長方形の透明な塗りを用意したら,うまく行くかもしれません。 読み込む側から, 読み込まれる SWF の縦横のステージサイズを取得することが不可能なのです。 したがって「b.swf」の最初のフレームにある, 一番左上のものの,左上の座標が,SWFの左上のコーナーだと思うらしく, その「b.swf」のフレーム1にある, 一番左上のものの,左上の座標が, 読み込む側のムービークリップ「a_mc」の基準点に来てしまします。 JPEGをロードするときはこういうことは起こらないのですが, SWFをロードするときはこの点が厄介です。 最初に書いたようにやってみても, ステージからはみ出しているものなどがあればうまく行かないと思います。 ですから, 「b.swf」の フレーム1 はステージとちょうど同じ大きさの透明な塗り以外何も置かないようにして, 『「b.swf」のステージの大きさはこの範囲だぞ』 と読み込む側に認識させるようにするなど, 作る物によって工夫が必要になると思います。

labylaby
質問者

お礼

ステージと同じ大きさの長方形の透明な塗りを用意 上記の方法では上手くいきませんでしたが、loadMovie("b.swf","a_mc"); の前にa_mc._lockroot=true; を書いたらうまくいきました! お返事ありがとうございました。

関連するQ&A