停止并重新启动CreateJs动画

时间:2015-07-14 15:52:15

标签: animation canvas html5-canvas createjs

我想知道如何停止整个CreateJs画布动画以及如何在以后重新启动它。 我希望在用户看不到画布的同时节省计算能力和内存。

有人知道吗?

提前谢谢

2 个答案:

答案 0 :(得分:7)

只需删除Ticker上的监听器即可。例如:

foo[i]=i++;

如果要重置从Flash导出的整个动画,您有几个选项:

  1. 您可以重新实例化主时间轴。您需要查看输出代码以获取主时间轴符号的名称,但它通常基于FLA名称(例如,名为&#34的FLA; test.fla"将将其主时间轴符号命名为" Test")。
  2. createjs.Ticker.removeEventListener("tick", myStageOrTickFunction); // then add it back later to unpause: createjs.Ticker.addEventListener("tick", myStageOrTickFunction);

    stage.removeChildAt(0);

    1. 您可以使用stage.addChild(new lib.Test());。这要求所有子MovieClip都设置为Graphic实例,因为MC独立于其父级播放。
    2. gotoAndPlay(0)

答案 1 :(得分:1)

您需要从Stage中删除exportRoot,然后重新添加

function restart()
    {


        stage.getChildAt(0).gotoAndPlay(0);
        stage.removeChildAt(0);
        createjs.Ticker.removeEventListener("tick", stage);
        createjs.Sound.stop();

        exportRoot = new lib[Object.getOwnPropertyNames(lib)[Object.getOwnPropertyNames(lib).length-3]]();
        stage.addChild(exportRoot);

        createjs.Ticker.addEventListener("tick", stage);
        stage.update(); 

    }