電子書籍の厳選無料作品が豊富!

ActionScript3.0についての質問です。

ムービークリップAの中に入れ子でムービークリップBを作成し、またその中に入れ子でムービークリップCを作成しました。

そしてこのムービークリップCをクリックできるようにしたいのですがうまくいかないんです。
こんなふうに書いてみたのですがどこが間違っているのか指摘してもらえると嬉しいです。


package{
import flash.display.MovieClip;
import flash.display.Sprite;
import flash.events.MouseEvent;
import flash.events.Event;

public class komorebi extends MovieClip{

public function komorebi(){

A.B.C.addEventListener(MouseEvent.CLICK, clickHandler);
}

function clickHandler(ev:Event){
signBoard.gotoAndPlay("parkUp");
}
}
}


>A.B.C.addEventListener(MouseEvent.CLICK, clickHandler);

これがちょっと怪しい気がするのですが、A.B.C ←こういった参照のしかたでよろしいんでしょうか?

もし説明不足でしたらまた追記しますので言ってください!
すみませんがよろしくお願いします!!

A 回答 (1件)

MovieClip の継承している Sprite の継承している DisplayObjectContainer を参照してみてください。



表示オブジェクトのコンテナとして機能する基本クラスですので、子表示オブジェクトを取得するメソッドが用意されています。子表示オブジェクトは、それらのメソッドを通して取得します。

以下のメソッドなどを使用すると、子表示オブジェクトを取得出来ます。


// 指定のインデックス位置にある子表示オブジェクトインスタンスを返す
getChildAt(index:int):DisplayObject

// 指定された名前に一致する子表示オブジェクトを返す
getChildByName(name:String):DisplayObject


まず A から B を取得し、その後に B から C を取得する形になります。


// B が A の 0 番の位置にある子表示オブジェクトと仮定した場合
var B:DisplayObject = A.getChildAt(0);

// C が B の 0 番の位置にある子表示オブジェクトと仮定した場合
var C:DisplayObject = B.getChildAt(0);

参考URL:http://help.adobe.com/ja_JP/AS3LCR/Flex_4.0/flas …
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。
しかし、いまいち理解できませんでした。。。

もうちょっと色々と調べてみようと思います。
有り難うございました。

お礼日時:2010/10/26 16:07

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