「これはヤバかったな」という遅刻エピソード

シーン1にムービークリップ(インスタンス名mcop)を配置し、mcopの1フレームにムービークリップ(mc)とobject1(グラフィック)を配置、mcの1フレーム目にアクションスクリプト(ActionScript3)を配置します。

アクションスクリプトからobject1を非表示にする指示を出したいのですがうまくできません。
パスの書き方をアドバイスください。(同階層ではうまく非表示に出来ます。)

root.mcop.object1.visible = false;  こんな感じでやってみましたがだめでした。

A 回答 (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_roots …
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/06/08 09:31

parent.getChildByName("object1").visible=false



みたいなカンジで
    • good
    • 0
この回答へのお礼

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

お礼日時:2011/06/08 09:32

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