AS3に問題があります。ムービークリップを持っていて、それをステージに追加しました addChild(gameLevelSelect);
。
addChild(gameLevelSelect);
問題は、その中に他のMovieClipsもありますが、ステージ上のその中にaddChildとしてはありません。シンボルにインスタンス名を付けましたstageThumb_01
が、機能しません。どうすれば修正できますか?
これはコードです:
gameLevelSelect.getChildByName("stageThumb_01").addEventListener(MouseEvent.CLICK, load_Level01);
function load_Level01(e:MouseEvent):void {
trace("blam")
gameLevelSelect.getChildByName("stageThumb_01").getChildByName("stars").gotoAndPlay(2);
}
................................................。
gameTitle.addEventListener(Event.ENTER_FRAME, load_LevelSelection);
function load_LevelSelection(event:Event):void {
if(MovieClip(gameTitle).currentFrame == 22){
removeChild(gameTitle);
addChild(gameLevelSelect);
addChild(thumbLevel01);
thumbLevel01.getChildByName("stars").gotoAndPlay(1);
gameLevelSelect.gotoAndPlay(1);
}
}
var thumbLevel01 = new stageThumb01();
thumbLevel01.x = 83;
thumbLevel01.y = 161;
thumbLevel01.addEventListener(MouseEvent.CLICK, load_Level01);
function load_Level01(e:MouseEvent):void {
trace("blam")
//thumbLevel01.getChildByName("stars").gotoAndPlay(2);
}
これは機能し、その理由は、thumbLevel01をaddChildにしたためです。しかし、これは私が望むものではありません。addChild(gameLevelSelect);としてムービークリップをステージに追加しました。そのムービークリップにはアニメーションとボタンがあり、リンケージを行う代わりに、addChild(gameLevelSelect);でムービークリップとして保持したいと思います。私が知りたいのは、addChild(gameLevelSelect);のインスタンス名でムービークリップと通信する方法です。私が試してみました
gameLevelSelect(theAddClass).getChildByName( "thumbLevel01")。getChildByName( "stars")。<..starsはthumbLevel01のmovieClipです。次に、addEventListener(MouseEvent.CLICK、load_Level01);
[addChild--gameLevelSelect]。。。。。。。>インスタンス名のmovieClip-thumbLevel01(子を追加しない)。。。。。。。。。>インスタンス名のmovieClip-starsMeter(スコア用)。