2013-03-01 28 views
0

有关在父级中暂停和恢复子影片剪辑的快速问题。我的父级动画片段在帧1,2和3(每个都有自己不同的动画)内有3个其他子影片剪辑,当情况出现时,它们将在.as文件中调用。AS3在父级中的单独框架上暂停子影片剪辑

但是,当涉及到暂停父级动画片段时,我希望能够返回到它当前所在的子动画片段的同一帧。例如,Parent在第2帧上,第2帧上的孩子在其自己的动画的第15帧上,当重新开始时,Parent movieclip将停留在第2帧,而孩子将从第15帧中选取。

此刻只有我能想到的东西会有两个变量,一个保存当前的父框架,第二个保存childs当前框架,恢复后,转到父框架,然后'child'.goto和play(child frame)。但是,这是否会要求每个孩子都有相同的实例名称?

回答

0

没有看到你确切的设置,我相信你想要的是递归的暂停和恢复:

function recursivePause(clip:MovieClip):void 
{ 
    var len:int = clip.numChildren; 
    clip.stop(); 
    for(var i:int = 0; i < len; i++) 
    { 
     if(clip.getChildAt(i) is MovieClip) 
     { 
      recursivePause(clip.getChildAt(i) as MovieClip); 
     } 
    } 
} 

function recursiveResume(clip:MovieClip):void 
{ 
    var len:int = clip.numChildren; 
    for(var i:int = 0; i < len; i++) 
    { 
     if(clip.getChildAt(i) is MovieClip) 
     { 
      recursiveResume(clip.getChildAt(i) as MovieClip); 
     } 
    } 
    clip.play(); 
} 
+0

此刻我在GameContainer夹运行类似这样的东西里面有一切。我推动任何剪辑,我需要在Pause_array中暂停,然后传递给存储在其中的每个剪辑的暂停命令。我遇到的问题更多的是我不知道如何在不同的框架上暂停剪辑。似乎只要我告诉父剪辑首先转到正确的框架,并为孩子使用正确的实例名称,恢复现在按计划运行 – ulthanex 2013-03-01 23:06:28