• ベストアンサー

パスの書き方 AS3

シーン1にムービークリップ(インスタンス名mcop)を配置し、mcopの1フレームにムービークリップ(mc)とobject1(グラフィック)を配置、mcの1フレーム目にアクションスクリプト(ActionScript3)を配置します。 アクションスクリプトからobject1を非表示にする指示を出したいのですがうまくできません。 パスの書き方をアドバイスください。(同階層ではうまく非表示に出来ます。) root.mcop.object1.visible = false;  こんな感じでやってみましたがだめでした。

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

  • ベストアンサー
  • BlurFiltan
  • ベストアンサー率91% (1611/1754)
回答No.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

koocom
質問者

お礼

ありがとうございます。無事解決しました。 object1(グラフィック)は、ボタンでした。記入ミスです。お手間かけました。

その他の回答 (1)

回答No.1

parent.getChildByName("object1").visible=false みたいなカンジで

koocom
質問者

お礼

勉強になりました。ありがとうございます。