- ベストアンサー
(AS3) MC内から別のところにある関数を呼び出すには?
MCのタイムラインから別のところにある関数を呼び出すにはどのように記述すればよいのでしょうか? たとえば、メイン(一番上)のタイムラインに、次の関数が定義されていたとします。 function aaa(){ trace("ok"); } この関数をstage直下に配置されたムービークリップ「testMC」のタイムラインから実行したいとします。 testMCのタイムラインにどのように書けばよいのでしょうか? stage.aaa(); root.aaa(); など、いろいろためしてみましたがダメでした・・・ 誰か助けてください。
- みんなの回答 (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(); } 以上でいかがでしょうか?
お礼
おお!できました! おかげさまで制作の続きができます。 協力してくださってありがとうございました。