【问题标题】:stop all movie animations on main timeline after x secondsx 秒后停止主时间线上的所有电影动画
【发布时间】:2014-09-02 06:28:46
【问题描述】:

目前在主时间轴上使用以下代码在其自己的帧上在 10 秒后停止动画:

setTimeout( function(){
stop();
},10000);

它不起作用,基本上我在主时间线上有 3 个影片剪辑都在连续循环,但我希望所有这些影片剪辑在 10 秒后停止。

目前正在使用 actionscript 2

请记住,我在主时间线上也有一个动画,它只在鼠标悬停时播放。

谢谢

【问题讨论】:

  • 这 3 个影片剪辑是否相互嵌套?
  • 不,3 个独立的影片剪辑放置在各自图层中的主时间线上
  • @Ben Yermak - 我在下面给你的代码适用于时间线,也适用于任何电影剪辑。只需将 this 替换为影片剪辑容器的名称即可。
  • @BenYermak - 不行吗?

标签: flash actionscript-2 flash-cs5


【解决方案1】:

延迟后停止主时间轴的所有影片剪辑:

var timeline:MovieClip = this;
var delay:Number = 5000;

function toStop():Void {
    for (var c in timeline) {
        if (typeof(timeline[c]) == "movieclip") {
            timeline[c].stop();
        }
    }
}
setTimeout(toStop, delay);

【讨论】:

    【解决方案2】:

    为所有 3 个电影剪辑指定一个唯一的名称,然后像这样更改您的代码:

    setTimeout( function(){
        yourFirstMC_name.stop();
        yourSecondMC_name.stop();
        yourThirdMC_name.stop();
    },10000);
    

    【讨论】:

      【解决方案3】:
      function stopAllClips(clip) {
       for (var i in clip) {
        if(typeof clip[i]=="movieclip") {
         if(clip[i]!=clip) {
          clip[i].stop();
         }
        }
       }
      };
      stopAllClips(_level0);
      

      这段代码总是对我有用。它会停止我的 Flash 动画中的每个影片剪辑,包括嵌套一次!

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-08-19
        • 1970-01-01
        • 2012-09-16
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多