アプリ版:「スタンプのみでお礼する」機能のリリースについて

質問はタイトルの通りです。

実は以前同じ質問(http://oshiete1.goo.ne.jp/qa3811855.html)をしましたところ、次のような回答をいただきました。

[メインタイムライン]
function aaa(){
trace("ok")
}

[testMC]
this.addEventListener(MouseEvent.CLICK , onClick)
var rootObj:MovieClip = this.root as MovieClip;
function onClic(event:MouseEvent):void{
rootObj.aaa();
}


たしかに、この方法はムービークリップ(testMC)をステージに手動で配置したときには有効でしたが、stage.addChild()を使って配置したときには関数を呼び出すことができませんでした。

ちなみに、呼び出そうとすると次のようなエラーがでます。

ReferenceError: Error #1069: flash.display.Stage にプロパティ aaa が見つからず、デフォルト値もありません。


stage.addChild()で配置したムービークリップから、メインタイムラインの関数を呼び出すにはどうすればよいのでしょうか?
困っています。どうか力を貸してください。

A 回答 (2件)

stage.addChild();


ではなくて
addChild();
で配置すれば動作するかと思います。
    • good
    • 0
この回答へのお礼

返答いただきありがとうございます。
addChild();でやればエラーは発生しませんでした。
しかし、今はどうしても「stage.addChild()」で配置したMCに対してメインタイムラインの関数を呼び出させたいのです。
その方法を教えてくださいませんか? おねがいします。

お礼日時:2008/03/04 14:01

[メインタイムライン]


function aaa() {
trace("ok");
}
var testMC:MovieClip = new testMC_L();
stage.addChild(testMC);

testMC.bbb = this;



[testMC]
this.addEventListener(MouseEvent.CLICK , onClick);
var bbb:MovieClip;
function onClick(event:MouseEvent):void {
bbb.aaa();
}



半年ぐらいAS3触ってないのでちょっと強引かもしれませんが
これで動くと思います。
    • good
    • 0
この回答へのお礼

すごい! できました!
これからは上のコードの数値を変えていろいろ応用していきたいと思います。本当に親切に協力してくださってありがとうございました。

お礼日時:2008/03/04 16:06

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