- ベストアンサー
3.0の絶対パス
AS3.0です。 ルートのタイムライン上に「menu」と言うインスタンス名のMCがあり、その入れ子に「sample」というインスタンス名のボタンがあり、これをクリックすると飛ぶASを作成したいのですが、絶対パスを入力してもエラーが出ます。 rootはサポートされないようになりましたと・・・ 相対パスでも同じく出ます。 ネットで調べてもrootの記述しか検索できず、3.0のやり方がわかりません。 ちなみに下記を絶対パスにしたいのですが、そもそも 「this.sample_btn.」を相対パスにするのか、「this.gotoAndPlay」を相対パスにするのか、それとも両方するのかすらもわかりません。 よろしくお願い致します。 this.sample_btn.addEventListener(MouseEvent.CLICK,menusample); unction sample(e:MouseEvent):void { this.gotoAndPlay("サンプル"); }
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> rootはサポートされないようになりましたと・・・ root はサポートされていますよ。 サポートされなくなったのは root ではなく _root です。 ただ,「menu」というインスタンス名があまりよろしくありません。 ActionScript 2.0 以下での MovieClip.menu プロパティ と勘違いするようで, > Warning: 1058: 移行の問題 : プロパティ menu はサポートされないようになりました。 というエラーが出ます。 エラーメッセージが出るだけで動作には問題がないので無視していても良いとは思うのですが, 気持ちが悪いので「menu」というインスタンス名は使わない方が良いように思います。 root に 「menu_mc」 というインスタンス名のムービークリップがあって, その中に「sample_btn」 というインスタンス名のボタン(シンプルボタン)があったとします。 そして その 「sample_btn」 をクリックしたときに root を "サンプル" というラベル名のフレームに進めて再生するとします。 root ←"サンプル"というフレームラベルがある └menu_mc └sample_btn その場合のスクリプト例↓ MovieClip(root).menu_mc.sample_btn.addEventListener(MouseEvent.CLICK,sample); function sample(e:MouseEvent):void { MovieClip(root).gotoAndPlay("サンプル"); } 「rootプロパティでメインタイムラインの関数にアクセスできない」 http://fumiononaka.com/TechNotes/Flash/FN0707001.html
その他の回答 (1)
- H240S18B73
- ベストアンサー率65% (190/288)
stageが表示オブジェクト群の一番親 いってみれば過去のrootみたいなもんです 絶対パスとして書きたいなら stageからのパスってことになります stage.menu.sample_btn ってカンジですね ところで関数の"f"抜けと リスナー登録の関数名と 関数名が一致してないのは ただのコピーミスですか?
お礼
ありがとうございます。 ご指摘の部分はコピーミスです。
お礼
詳しくありがとうございました。 無事作成できました。