- 締切済み
Flashのアクションスクリプトについて
gotoAndPlayをMCに書いても指定したフレームに飛びません。ボタンに書いた場合は飛びます。MCをクリックしてgotoAndPlayを実行させたい場合、どのようなスクリプトをMCに書けばよいか教えてください。また、イベントハンドラメソッドでメインフレームに記述する場合もどのようなスクリプトを書けばよいか教えてください。よろしくおねがいたします。
- みんなの回答 (1)
- 専門家の回答
みんなの回答
ボタンシンボルのインスタンス には階層がありませんが,ムービークリップ には階層があります。 階層というといまひとつわからないかもしれませんが, ムービークリップ は 1つのフォルダのようなものなのです。 ---ネット上のファイル構造(イメージ) --- ルートディレクトリ ├ button.html ├ bitmap.jpg └image (フォルダ) ├ shape.html └ bitmap.jpg --- 上記をFlashに当てはめると------- _root ├ button(ボタン) ├ bitmap └image (ムービークリップ) ├ shape └ bitmap よけいにわかりにくいかもしれませんが, 上のような感じです。 gotoAndPlay は, ムービークリップ クラス(ムービークリップオブジェクトに対する)のメソッドで実際は, Movieclip.gotoAndPlay(フレーム); こういう形です。 これの Movieclip を省略すると, そのボタンなどが存在する階層を意味します。 上の場合, ├ button(ボタン) に gotoAndPlay(フレーム); を書くと,これは, this.gotoAndPlay(フレーム); または _root.gotoAndPlay(フレーム); の省略形になります。 上の場合,もし └image (ムービークリップ) に gotoAndPlay(フレーム); を書くと,これは, this.gotoAndPlay(フレーム); または _root.image.gotoAndPlay(フレーム); の省略形になります。 ご質問の感じからして, おそらく,ムービークリップ(上の場合imageというインスタンス名)のフレームを進めたいのではなくて, _root のフレームを進めたいのだと思うので, ムービークリップ に書くべきスクリプトは _root.gotoAndPlay(フレーム); となると思います。 前に _root. (メインのムービー) を付けてください。 また,_root というのは,絶対パスでのターゲットパスの指定方法です。 絶対パスではなく,相対パスで書きたい場合は, _parent.gotoAndPlay(フレーム); となります。_parent. (親) を付けてください。 this.gotoAndPlay(フレーム); の this も自分自身を指す相対パスです。 「ターゲットパス」 http://homepage3.nifty.com/ginga-b/MX/targetpath.html