есть недокументированная функция, которую вы можете использовать;addFrameScript (функция MovieClip);который, как следует из названия, добавляет код к определенному фрейму.Таким образом, вам не нужен рамочный прослушиватель, и вы можете динамически добавлять код в ключевой кадр.Поэтому, зная, когда мувиклип достигнет своего конца, будет:
mc.addFrameScript(mc.totalFrames - 1, onMcEnded);
function onMcEnded():void {
trace("last frame of movieclip");
}
, если вы хотите создать мувиклип, который имеет определенные метки, а затем действует на эти метки, один из способов - сделать это следующим образом. (Я думаю, это довольно распространенный код для тех, кто не хочет добавлять код непосредственно на временной шкале)
скажем, вы добавили две метки на временной шкале: askUser1 и askUser2
способдобавить взаимодействие на этих ярлыках было бы так:
for each(var frameLabel:FrameLabel in mc.currentLabels) {
configureLabel(frameLabel.name,frameLabel.frame-1)
}
protected function configureLabel(labelName:String,labelFrame:int):void
{
switch(labelName) {
case "askUser1" :
mc.addFrameScript(labelFrame, onAskUser1);
break;
case "askUser2" :
mc.addFrameScript(labelFrame, onAskUser2);
break;
}
}
private function onAskUser1():void{
//do stuff for askUser1 Label
}
private function onAskUser2():void{
//do stuff for askUser2 Label
}