- ベストアンサー
パスの書き方 AS3
シーン1にムービークリップ(インスタンス名mcop)を配置し、mcopの1フレームにムービークリップ(mc)とobject1(グラフィック)を配置、mcの1フレーム目にアクションスクリプト(ActionScript3)を配置します。 アクションスクリプトからobject1を非表示にする指示を出したいのですがうまくできません。 パスの書き方をアドバイスください。(同階層ではうまく非表示に出来ます。) root.mcop.object1.visible = false; こんな感じでやってみましたがだめでした。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
> object1(グラフィック)を配置 ここがよくわかりません。 「object1」とは何でしょうか? インスタンス名ですか? 変数名ですか? また「グラフィック」とは何でしょうか? 普通に解釈するなら「グラフィックシンボルに変換したステージ上のグラフィックインスタンス」となりますが その意味のグラフィックならインスタンス名は付けられないと思います。 また普通,ActionScriptで直接グラフィックインスタンスの操作をすることははできません。 上記の「グラフィック」という意味のものではなく ActionScriptで作成した何某かのグラフィックでしたら そのグラフィックを生成したスクリプトなどを書いてもらわないとグラフィックの指す物が何かわかりません。 もし上記の「グラフィック」という意味のものでしたら まずグラフィックインスタンスを用意するのはやめるべきです。 グラフィックインスタンスではなく,インスタンス名を付けることができて ActionScriptで直接操作できるムービークリップ(またはボタン)を用意すべきです。 シーン1(root)にインスタンス名mcopというムービークリップを手動で配置し そのmcopの中にインスタンス名mcというムービークリップを手動で配置し そのmcの中にインスタンス名object1というムービークリップを手動で配置したとします。 ※「手動で」というのは「ActionScriptではなく」という意味です。 root └mcop(ムービークリップ) └mc(ムービークリップ) └object1(ムービークリップ) そして ムービークリップmc 内のフレームにスクリプトを書いて ムービークリップobject1 を非表示にするとします。 その場合は次のようなスクリプトになります。 MovieClip(root).mcop.mc.object1.visible = false; 上記のは root を基準とした絶対パスでの書き方です。 相対パスで書くと次のようにもっと単純になります。 object1.visible = false; または this.object1.visible = false; 「1.5 rootとstage (ActionScript3.0入門ノート)」 http://oshige.com/flash/as3note/2007/04/14_rootstage.html
その他の回答 (1)
- H240S18B73
- ベストアンサー率65% (190/288)
parent.getChildByName("object1").visible=false みたいなカンジで
お礼
勉強になりました。ありがとうございます。
お礼
ありがとうございます。無事解決しました。 object1(グラフィック)は、ボタンでした。記入ミスです。お手間かけました。