【发布时间】:2015-10-03 09:05:19
【问题描述】:
我想知道如何停止整个 CreateJs 画布动画以及以后如何重新启动它。 我想在用户看不到画布时节省计算能力和内存。
有人知道吗?
提前谢谢你
【问题讨论】:
标签: animation canvas html5-canvas createjs
我想知道如何停止整个 CreateJs 画布动画以及以后如何重新启动它。 我想在用户看不到画布时节省计算能力和内存。
有人知道吗?
提前谢谢你
【问题讨论】:
标签: animation canvas html5-canvas createjs
只需删除 Ticker 上的侦听器即可。例如:
createjs.Ticker.removeEventListener("tick", myStageOrTickFunction);
// then add it back later to unpause:
createjs.Ticker.addEventListener("tick", myStageOrTickFunction);
如果您想重置从 Flash 导出的整个动画,您有以下几种选择:
stage.removeChildAt(0);
stage.addChild(new lib.Test());
gotoAndPlay(0)。这要求所有子 MovieClip 都设置为 Graphic 实例,因为 MC 独立于其父级播放。stage.getChildAt(0).gotoAndPlay(0)
【讨论】:
您需要从 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();
}
【讨论】: