• ベストアンサー

(AS3) MC内から別のところにある関数を呼び出すには?

MCのタイムラインから別のところにある関数を呼び出すにはどのように記述すればよいのでしょうか? たとえば、メイン(一番上)のタイムラインに、次の関数が定義されていたとします。 function aaa(){ trace("ok"); } この関数をstage直下に配置されたムービークリップ「testMC」のタイムラインから実行したいとします。 testMCのタイムラインにどのように書けばよいのでしょうか? stage.aaa(); root.aaa(); など、いろいろためしてみましたがダメでした・・・ 誰か助けてください。

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

  • ベストアンサー
  • k_ort
  • ベストアンサー率33% (66/199)
回答No.1

私もAS2.0から3.0への移行勉強中なので詳しく説明できませんが、_rootはなくなりまして、そのかわり_rootプロパティとなったようです。 コツとしましては testMCのなかで _root.aaa(); としたいところを まずルートのプロパティをムービークリップオブジェクトとします var rootObj : MovieClip = this.root as MovieClip; それから rootObj.test(); で実行できました。 まとめると [メインタイムライン] function aaa(){ trace("ok") } [testMC] this.addEventListener(MouseEvent.CLICK , onClick) var rootObj:MovieClip = this.root as MovieClip; function onClic(event:MouseEvent):void{ rootObj.test(); } 以上でいかがでしょうか?

tenketu
質問者

お礼

おお!できました! おかげさまで制作の続きができます。 協力してくださってありがとうございました。

関連するQ&A