我有一個movieclip,我們可以稱之爲「mc」。在我的「MC」是一個名爲「childta」的textarea組件。我正在用stage.addchild創建「mc」的實例。一切都很好,但是當我添加一行代碼來設置「childta」的文本時,由於代碼在被加載之前被執行,它不會顯示。AS3如何等待子組件加載?
我知道我有代碼的權利,因爲如果我點擊按鈕來設置「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;
}
看到這個答案: http://stackoverflow.com/questions/12504345/as3-cant-set-checkbox-label-need-to - 知道什麼時候它被加載/ 12505059#12505059 – BadFeelingAboutThis
你的while循環將導致一個stackoverflow,雖然也許沒有代碼導致運行時退出它。 'childta'在哪裏?在'mcpm'裏面?如果是這樣,請發佈您的'PMBox'類代碼。此外,你應該在stage.addChild(mcpm)之前添加你的mcpm添加到舞臺監聽器。 – BadFeelingAboutThis
PMBox是一個影片剪輯。用一個文本框這是pmsa是什麼。它是位於http://www.valentin-manthei.de/as3/SmileArea.as的SmileArea我可以設置正常文本字段的文本,但不是笑臉區域。我只能猜測它是在smilearea(pmsa)加載之前發送addtext。我將嘗試現在移動事件監聽器。任何其他建議?一直在這一整天,並感謝你! – Cyrus