【问题标题】:HTML5 Canvas/CreateJS stop all nested movie clips?HTML5 Canvas/CreateJS 停止所有嵌套的影片剪辑?
【发布时间】:2019-10-23 05:29:28
【问题描述】:

使用 Adob​​e Animate/Canvas,我有一个大型影片剪辑,其中包含数十个嵌套的小剪辑。我想确保所有这些剪辑在运行时停止,但我不想手动浏览每个剪辑。有没有办法以编程方式从主时间线停止所有这些剪辑?

我试过了:

this.myBigContainingClip.stopAllMovieClips();

但这并没有。

【问题讨论】:

    标签: canvas html5-canvas createjs adobe-animate


    【解决方案1】:

    绝对没有stopAllMovieClips 方法:) 你可以在这里查看文档:https://createjs.com/docs/easeljs/classes/MovieClip.html

    与您的other question 类似,您必须确保可以访问时间线。注意这个问题是递归的:

    this.gotoAndPlay(0); // Update `this` timeline
    this.myBigContainingClip.gotoAndPlay(0); // Update myMovieClip so you can access its timeline
    

    然后你可以迭代myBigContainingClip时间轴中的所有剪辑,并告诉它们停止

    for (var i=0, l=this.myBigContainingClip.numChildren; i<l; i++) {
        this.myBigContainingClip.getChildAt(i).stop();
    }
    

    请注意,这是伪代码(未经测试),但它应该可以工作。

    编码愉快!

    【讨论】:

    • 哈哈,谢谢兰尼——为我辩护,AS3 中有(曾经?)stopAllMovieClips!或者我听到了。而且,确实,由于您对另一个问题的回答,我实际上已经走到了一半。在那之后,彻底迷失了。这行得通!再次感谢!
    • 哈,好久不见,我都忘了! :)
    猜你喜欢
    • 1970-01-01
    • 2016-06-23
    • 2013-09-29
    • 1970-01-01
    • 2010-10-04
    • 2017-06-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多