AS3如何等待子组件加载?

时间:2012-09-23 22:06:37

标签: actionscript-3 flash components

我有一个movieclip,我们可以称之为" mc"。在我的" mc"是一个名为" childta"的textarea组件。我正在创建" mc"与stage.addchild。一切都很顺利,但是当我在此之后添加一行代码来设置" childta"由于代码在加载之前执行,它不会显示出来。

我知道我的代码是正确的,因为如果我点击按钮来设置" childta"它确实有效。那么我该如何等待mc.childta加载?

               var mcPM:PMBox = new PMBox();
               pmwaiting = 1;
                mcPM.name = sendername;
                stage.addChild(mcPM);
                mcPM.x = 200;
                mcPM.y = 200;
                mcPM.addEventListener(Event.ADDED_TO_STAGE, pmloaded);
                           }
           while(pmwaiting == 1) {

           }
            MovieClip(stage.getChildByName(sendername)).pmsa.addText(dArray[3]);
            mcPM.removeEventListener(Event.ADDED_TO_STAGE, pmloaded);
       }
   } else {
        //Its chat text, add to window
        sa.addText(e.data);
   }
}
function pmloaded(Event):void {
    pmwaiting = 0;

}

1 个答案:

答案 0 :(得分:1)

尝试收听“ADDED_TO_STAGE

childta = new TextArea();
childta.addEventListener(Event.ADDED_TO_STAGE,childtaLoaded);

function childtaLoaded(e:Event):void {
    //ready to work with
}

addChild(childta);