У меня есть такая проблема:
У меня есть какой-то видеоклип с двумя разными дочерними элементами: "инструкция" и "back_anim".Они имеют одинаковую структуру, за исключением одного: у «инструкции» есть классическая анимация движения, у «back_anim» - «анимация формы».Я запускаю его на Adobe Air 2.6 для Android.На каждом из этих дочерних элементов есть две метки: «показать», «скрыть».Все стоп-кадры присутствуют.И у меня есть такой код для управления ими:
protected function fadeOut(event:Event):void {
line_mc.removeEventListener(Event.COMPLETE,fadeOut);
if (line_mc.hasOwnProperty('back_mask_anim')){
line_final_anim_count++;
(line_mc['back_mask_anim'] as MovieClip).addEventListener(Event.ENTER_FRAME, checkFinalAnimComplete);
(line_mc['back_mask_anim'] as MovieClip).gotoAndPlay("show");//show
}
if (line_mc.hasOwnProperty('instruction')){
line_final_anim_count++;
(line_mc['instruction'] as MovieClip).addEventListener(Event.ENTER_FRAME, checkFinalAnimComplete);
(line_mc['instruction'] as MovieClip).gotoAndPlay('hide');
}
if(line_final_anim_count == 0){
setTimeout(lineComplete,time_before_fade_out);
}
}
protected function checkFinalAnimComplete(event:Event):void {
var anim_mc:MovieClip = event.currentTarget as MovieClip;
trace("anim_mc.frame " + anim_mc.currentFrame + " of " +anim_mc.totalFrames +
"name = " + anim_mc.name);
if(anim_mc.currentFrame == anim_mc.totalFrames) {
anim_mc.removeEventListener(Event.ENTER_FRAME, checkFinalAnimComplete);
line_final_anim_count--;
}
trace("line_final_anim_count: " + line_final_anim_count);
if(line_final_anim_count == 0){
lineComplete();
}
}
но !!!«инструкция» - играет хорошо, «back_anim» - входит в бесконечный цикл на стоп-кадре.Когда я это сделаю: (line_mc ['back_mask_anim'] как MovieClip) .gotoAndPlay (7);следующий кадр после стоп кадра - все ок.В чем дело?Кто-нибудь сталкивался с такой проблемой?Thanx.