• ベストアンサー
  • すぐに回答を!

外部swfからのタイムラインコントロール

  • 質問No.6596264
  • 閲覧数280
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 42% (6/14)

FLASH&アクションスクリプト初心者です。
同じ階層にindex.swfという名前とcontent.swfという名前でswfファイルを置いています。index.swfのボタンシンボルを押すとindex.swfのムービークリップ(loadいう名にしています)上にcontent.swfを読み込むようにしています。その読み込んだcontent.swfのあるボタンシンボルを押すとindex.swfのタイムラインを指定したラベル(moveという名にしています)に移動させたいのですが、方法がわかりません。ご教授いただけると幸いです。アクションスクリプトは2.0を使用しています。

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

  • 回答No.1
  • ベストアンサー

ベストアンサー率 91% (1611/1754)

ActionScript 1.0&2.0 の場合
MC(ムービークリップ)に外部SWFをロードすると
その外部SWFはそのMC自体と同じ存在になります。

ですからロードするしないは関係なく,
「ターゲットパス」さえ理解していれば
MCプ内にボタンを置いたと思って考えるだけで
普通の場合と変わらずできると思います。

「ターゲットパス」
http://homepage3.nifty.com/ginga-b/MX/targetpath.html


> ムービークリップ(loadいう名にしています)

そういう紛らわしいネーミングは混乱や誤作動の原因になるだけです。
「index.swf」内にある「content.swf」をロードするMCには
「load_mc」というインスタンス名を付けてあるものと変えます。
また
「content.swf」内のボタンには
「cnt_btn」というインスタンス名を付けてあるものとします。

◎階層構造

 index.swfの_root
  └load_mc(MC)

 content.swfの_root
  └cnt_btn(ボタン)


◎スクリプト例

○場合1-1
  cnt_btn自体に書くスクリプト例(絶対パス)

on (release) {
_root.gotoAndStop("move");
}


○場合1-2
  cnt_btn自体に書くスクリプト例(相対パス)

on (release) {
this._parent.gotoAndStop("move");
}


○場合2-1
  cnt_btnを置いたフレームに書くスクリプト例(絶対パス)

cnt_btn.onRelease = function():Void {
_root.gotoAndStop("move");
};


○場合2-2
  cnt_btnを置いたフレームに書くスクリプト例(相対パス)

cnt_btn.onRelease = function():Void {
this._parent._parent.gotoAndStop("move");
};


※cnt_btnを置いたフレームとはつまり,
  content.swf 内のメインタイムラインのフレームのことです。

※場合1-2 と 場合1-2 は
  ActionScript 1.0 の範囲内のスクリプトです。
  (パブリッシュ設定 は ActionScript 1.0 にしていても
  2.0 にしていても どちらでもかまいません。)
  一方
  場合2-1 と 場合2-2 は Voidキーワード を含むため
  ActionScript 2.0 の範囲内のスクリプトです。
  (パブリッシュ設定 を ActionScript 2.0 にしてないと
  エラーが出ます。)
お礼コメント
inoue55

お礼率 42% (6/14)

ご丁寧に解説くださいまして有難うございました。
簡単に解決することができました。
>そういう紛らわしいネーミングは混乱や誤作動の原因になるだけです。
誤作動など考えていなかったのでネーミングに対する認識の甘さといいますか浅さに気が付きました。

>「ターゲットパス」
http://homepage3.nifty.com/ginga-b/MX/targetpath.html
ひじょうに参考になるサイトをお教えいただきまして有難うございました。

これを機にもっと知識を深めさせていただくよう努力いたします。
投稿日時:2011/03/17 06:14
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

関連するQ&A

ピックアップ

ページ先頭へ