- ベストアンサー
FLASH内にFLASHを埋め込む事は可能?
FLASH初心者です。 基本的な事かもしれませんが、 FLASH内にFLASHを埋め込む事は可能なのでしょうか? レスポンスの問題で、FLASH内の一部分のみを別FLASHとして動作させようと考えています。 すみませんが、どなたかご教授ください。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
ご質問内容から判断して, 「FLASH内にFLASHを埋め込む」 のではなくて 「FLASH内にFLASHを読み込む」 または, 「FLASH内にFLASHをロード表示させる」 ということでしょうね。 この場合普通は, MovieClipクラスのloadMovieメソッドを使うか, http://www.google.co.jp/search?hl=ja&q=loadMovie&lr=lang_ja 少し高度なことをする場合は, MovieClipLoaderクラスのメソッドを使います。 http://www.google.co.jp/search?hl=ja&q=MovieClipLoader&lr=lang_ja - - - - - - - - - - - - - - - - loadMovie の一例を書いておきます。 まずフォルダ構造が次のような状態であったとします。 任意のフォルダ ├ ○○.html(○○.swf を表示) ├ ○○.swf └ a.swf また,「○○.swf」 に 「a.swf」 を読みこむものとします。 「a.swf」は適当に何かを用意してください。 以下では主に 「a.swf」を読みこむための「○○.swf」について説明します。 「○○.swf」の作成の方法です。 Flash で新規ドキュメントを作成して, ステージ上の左上に方に,1辺が5mmくらい(適当)な塗の四角を描いてください。 その四角全体を選択して, 「修正」→「シンボルに変換」(Flash MX 2004以上)または, 「挿入」→「シンボルに変換」(Flash MX 以下)で,ムービークリップに変換してください。 変換しましたら, そのムービークリップを選択して,下のプロパティインスペクタ(プロパティパネル)を表示させて, 左の方の, [ムービークリップ ▼] [ <インスタンス名> ] となっている部分でインスタンス名を付けます。 この説明では, 「loadMC」 というインスタンス名にしておきます。 現在,ステージの上に表示されているはずのタイムラインは, 次のような状態だと思います。 1 □ レイヤー1 筆・・|●| 1つしかない レイヤー を ムービークリップ が占領していますから, スクリプト用にレイヤーを1つ挿入してください。 1 □ レイヤー2 筆・・|○| □ レイヤー1 筆・・|●| 新しく挿入した方のレイヤーを,スクリプト専用のレイヤーと自分で勝手に決めておきます。 その新しくできた方のレイヤーのフレーム1(○)を選択して, 下のアクションパネルを表示させて, スクリプトを書く白い部分に, _root.loadMC.loadMovie("a.swf"); と書きます(コピペ可能)。 意味は, メインムービーのタイムライン(_root)にある「loadMC」に, 外部ファイル「a.swf」をロードさせる。 という意味です。 そして今作製中のドキュメントに適当な名前を付けて, 「a.swf」と同じフォルダに保存し, そしてパブリッシュします。 パブリッシュされたHTMLやSWFを開いてみると, 「a.swf」がロードされて表示されると思います。 「a.swf」が読みこまれるレイヤーは, 「loadMC」の存在するレイヤーで, 座標は,「loadMC」の基準点に「a.swf」の左上のコーナーが来るように読みこまれます。 「インスタンスの基準点」 http://homepage3.nifty.com/ginga-b/MX/inst_refpoint.html ですから, 読みこむ物(「a.swf」など)の上下関係や座標は, 「loadMC」の位置を調節すれば良いということになります。 当然,応用や発展の方法はたくさんありますよ。 例えば,スクリプトはフレームに書くのではなく, 「loadMC」と 「ボタン」 を用意して, そのボタンに on (release) { _root.loadMC.loadMovie("a.swf"); } と書いても良いですね。 注意する点は, フォルダ構造と「a.swf」のパスです。 「a.swf」のパスは,「○○.swf」から見たパスではありません。 「○○.html」から見たパスになります。 例えば,フォルダ構造が次のような状態であったとします。 任意のフォルダ ├ ○○.html(○○.swf を表示) └ flash(フォルダ) ├ ○○.swf └ a.swf この場合は, _root.loadMC.loadMovie("flash/a.swf"); になります。 任意のフォルダ ├ ○○.html(○○.swf を表示) ├ ○○.swf └ flash(フォルダ) └ a.swf この場合も同じく, _root.loadMC.loadMovie("flash/a.swf"); になります。 HTMLから見た読みこむSWFのパスを書いてください。 ファイルパスの書き方は HTML でのパスと同じ書き方です。 ---------------------------- しかし,良いことに, loadMovie も MovieClipLoader も, ほとんど Flash でしか使用されない言葉ですから検索もしやすいスクリプトです。 色々な方法について知りたい場合は, 最初に書いた2つの URL のように検索してみてください。 色々参考になるサイトが検索されると思います。 でも, loadMovie や MovieClipLoader に限らず, 他のスクリプトでもその傾向は強いですよ。 スクリプトに何を使用すれば良いかがわかるまでが大きな山だと思います。 「これには,このスクリプトを使う。」というところまでわかれば, あとは,ヘルプやネットの検索でどんどん良いサンプルに出会えます。
その他の回答 (1)
- LACOMS
- ベストアンサー率65% (15/23)
swf形式のムービーであれば埋め込み可能です。 読み込むムービークリップへのターゲット.loadMovie("???.swf"); で外部のswfファイルを読み込むことができます。 ただし、ターゲットのムービークリップのプロパティに依存してしまうので注意が必要です。
お礼
LACOMSさん、ご教授ありがとうございます!! 上記のsassakunさんの欄にも記載させていただきましたが、 見事成功致しました。 本当にありがとうございます!!!
お礼
その日のうちにご連絡をいただいておりながら、 返信が遅れ、大変申し訳ありません。 とても丁寧なご説明、本当にありがとうございます!!! お蔭様で、見事成功致しました!!! Client側はFlash、Sever側Javaという構成で、 Client側のSubFlash(今回ご教授いただいた部分)で、 連携が可能か!?というミッションをこなしておりました。 ActionScriptのXMLSocketを使い見事、実験成功です!! sassakunさん、本当にありがとうございます! もし、今後も何かありましたら、よろしくお願い致します。