adobe air gotoandstop不起作用

时间:2011-10-26 11:58:53

标签: flash air adobe

我有这样的问题:

我有一些带有两个不同孩子的电影剪辑:“instruction”和“back_anim”。它们具有相同的结构,除了一件事:“指令”具有经典补间,“back_anim”具有“补间形状”。我在Adobe Air 2.6 for Android上运行它。每个孩子都有两个标签:“show”,“hide”。所有停止帧都存在。我有这样的代码来控制它们:

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);停止帧后的下一帧 - 一切正常。怎么了?有人面对这样的问题吗?感谢名单。

2 个答案:

答案 0 :(得分:1)

我通过创建一个包含舞台上所有内容的movieclip解决了这个奇怪的问题,gotoandstop函数似乎可以与movieclips一起使用,但不能直接与舞台一起使用。

希望我帮忙!

答案 1 :(得分:0)