• ベストアンサー

別のファイル.swfへジャンプは可能?

私がしたいことは ファイルA.swfのタイムフレームから 別のファイルB.swfのフレームへジャンプさせたいの ですがどうすればよろしいでしょうか? わかるかたぜひよろしくお願いします。

質問者が選んだベストアンサー

  • ベストアンサー
  • perse
  • ベストアンサー率74% (113/152)
回答No.2

A.swfとB.swfはHTMLに貼るんですよね? ボタンは不要ということであれば A.swfの最後に this.stop(); //B.swfのmy_obj.msgという変数に"play"という値をセット getURL("javascript:window.document.B.SetVariable('_root.my_obj.msg','play')"); B.swfの先頭に this.stop(); //オブジェクトの監視 var my_obj:Object = new Object(); my_obj.msg = ""; //JavaScriptを介してmy_obj.msgの値が変更されたら呼び出される。 function fun_msg(prop, oldVal, newVal, speedLimit) { if (newVal == "play") { _root.gotoAndPlay(2); } } my_obj.watch("msg", fun_msg, ""); で出来ます(確認済み)。 #1でも書いたようにHTMLのB.swfを貼るタグの <OBJECT id="B" classid…> <EMBED name="B" src…> の部分を確認してください。

taira812
質問者

お礼

ありがとうございます。 試してみますので、わからなければまた質問します。

taira812
質問者

補足

一旦締め切らせていただきます ご回答ありがとうございました。 多忙なためまだ試していませんが、後日確認しようとおもっています。大変な参考ありがとうございました。

その他の回答 (1)

  • perse
  • ベストアンサー率74% (113/152)
回答No.1

同一のHTMLにA.swfとB.swfがあり、 A上のボタンを押すとBでアクションが起こるという事でしたら、JavaScriptを介してデータを渡すことが出来ます。 <OBJECT id="B" classid…> <EMBED name="B" src…> に設定したとすると (Bという名前でFlashを保存してHTMLをパブリッシュ時に吐き出せば勝手にそういう名前がつきます)、 A.swfに on (release) { getURL("javascript:window.document.B.SetVariable('_root.msg','メッセージ')"); } と記述することでこの場合 Bの_root.msgに"メッセージ"がセットされます。 Object.watch等で監視すれば渡ってきたときに対処しやすいと思います。 やりたいこと違ってたらすいません。 ↓消されていたら"Flash javascript SetVariable j2fla"をキーワードに検索してみてください。

参考URL:
ttp://members9.tsukaeru.net/daina_k/tips/flash/flashtip02.html
taira812
質問者

補足

ご回答ありがとうございます。 私の質問を継ぎ足しますと ボタンは使用しません。 単に A.swfのタイムフレームを再生し終了したとき、つまり最後のstop() のフレームに到達すると別のファイルの B.swfのタイムフレーム最初のキーフレームへjump 、再生ということしたいです。 A.swf再生開始→A.swf再生終了→B.swfの最初のフレームへjump→B.swf再生開始→B.swf再生終了 それにはA.swf再生終了時キーフレームもしくはライブラリにてアクションスクリプトプログラムが必要とおもうのですがどういうふうに書けばいいかおしえてください。 ちなみにA.swfとB.swfは同じディレクトリ内です。 使用Flash MX6 よろしくおねがいします。

関連するQ&A