• 締切済み

外部swfからコントロール

外部swfを読み込んで、その中のボタンから、親すなわち_rootのタイムラインを動かしたいのですが、可能でしょうか?どういった方法があるのでしょうか?よろしくお願いします。

みんなの回答

noname#35109
noname#35109
回答No.1

普通に,  loadMovie("外部.swf","ターゲットMC"); もしくは,  ターゲットMC.loadMovie("外部.swf"); で外部.swfをロードした場合, 通常は,  _root.gotoAndPlay(フレーム数); で良いのではないでしょうか? _lockroot をしてしまっている場合はしょうがないので相対パスで,  _parent.gotoAndPlay(フレーム数); でしょうね。  参考URL:  「_lockroot (MovieClip._lockroot プロパティ)」  http://livedocs.macromedia.com/flash/8_jp/main/00002482.html ------------------------------------ そうではなく,もし,  loadMovieNum("外部.swf",1); などで,ムービークリップではなく, _level(レベル) の読み込んだ場合は _root.gotoAndPlay(フレーム数); と書いた場合,この _root は _level1 の _root を指してしまいますから,_root も _parent も使えないので,同様にレベル指定で,  _level0.gotoAndPlay(フレーム数); となります。 勝手な推測ですが _level1 などに読み込んでいらっしゃるので, ややこしくなるのではないでしょうか? もし,_level1 などに読み込んでいらっしゃるのならの話ですけど, _level なんて,そうとう使い慣れていないと使えませんし, また,使い慣れたからと言って,_level に読み込む物でもありません。 すごく変わったときに(どんなときかは出会ったことがない),使う特殊なものと考えられた方が良いと思います(私は)。  参考URL  ムービークリップインスタンスの参照  http://oshige.com/flash/note/archives/2005/02/post_12.html  ~上記URLより引用~  ■_level  loadMovieNum()アクションを使うことで、現在のムービーに  別のswfを読み込んで重ねて表示することができます。  このときのムービーの重なりを_levelで示します。   …中略…  _rootは各レベルのタイムラインを参照しています。  したがって通常は_rootと_level0は同じです。  しかし、実際には複数のムービーを重ねて表示しているとき、  それぞれの_levelに_rootがあります。

関連するQ&A