人生のプチ美学を教えてください!!

flash初心者です。

mc_01の中にmc_02があり、その中に配置してあるボタンを押すと、mc_01と同じタイムラインにあるmc_Aの2フレーム目が再生されるようにしたいのですが。。パスに気をつけてgotoandplayアクションを書いてもうまくいきません。(ちなみに全体がまたひとつのムービークリップになっています。)
何かの本で、複雑なアニメーションになると、下位から上位にアクションを指定しようとしてもうまくいかない場合があるのでfunction機能を使うと良いと書いてあったような気がします。

わかる方、どうかよろしくお願い致します!

A 回答 (1件)

書かれている mc_01 とか mc_02 とか mc_A はムービークリップのインスタンス名だとして回答します。


ご質問のムービークリップの階層構造を図示すると,
つまり,こういうことですね↓。

 _root
   └ ムービークリップ
         ├ mc_01
         │   └ mc_02 - ボタン
         └ mc_A


ボタンから見て mc_A は,
親 の 親 にある mc_A です。

ですから,mc_A を フレーム2 に進めたいときは

----------------------------
on (release) {
_parent._parent.mc_A.gotoAndPlay(2);
}
----------------------------

となります。
ボタンと書かれていますが,
そのボタンが,ボタンシンボルのインスタンスではなく,
ムービークリップをボタンにして使っている場合は,
さらに階層が上がって,

----------------------------
on (release) {
_parent._parent._parent.mc_A.gotoAndPlay(2);
}
----------------------------

となります。
相対パスではなく,絶対パスを使うと,
こんなに,_parent. をつなげる必要はなくなります。

 _root
   └ ムービークリップ
       ↑
このムービークリップに,例えば,oyaMC というインスタンス名を付けた場合は,
ボタンに書くスクリプトは,

----------------------------
on (release) {
_root.oyaMC.mc_A.gotoAndPlay(2);
}
----------------------------

となります。

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


> function機能を使うと良いと書いてあったような気がします。

function を使っても使わなくても良いですが,
使っても使わなくても,階層構造には変わりありませんし,注意する点は同じですから,
何の省略にも簡略化にもなりません。

この回答への補足

さっそくの回答ありがとうございます!
試してみますね。

補足日時:2006/08/24 00:12
    • good
    • 0
この回答へのお礼

お返事だいぶ遅くなってしまい大変申し訳ありません。
sassakunさんのおっしゃった通りパスに注意してやってみたのですが、どうもうまくいかず、ムービーの構造を簡単にしてみたら、解決できました。
どうもありがとうございました!!

お礼日時:2006/09/07 14:30

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!