我在Adobe CC动画中有一个按钮,它上面有一个听众,每次按下它都会播放音乐。代码是:
this.playmusic.addEventListener("click", loadHandler.bind(this));
function loadHandler() {
createjs.Sound.stop();
createjs.Sound.play("soundenergy");
}
但我希望当我点击按钮时,音乐开始变为setInterval(?),这使得它可以在10秒或更短时间之后点击或播放。
我正在考虑这个问题,但我无法弄清楚:createjs.Ticker.addEventListener("tick", loadHandler);
this.playmusic.addEventListener("click", loadHandler.bind(this));
function loadHandler() {
Ticker._interval = 50;
createjs.Sound.stop();
createjs.Sound.play("soundenergy");
}
答案 0 :(得分:1)
我不建议使用EaselJS Ticker类。它用于应用程序心跳,目前仅支持一个全局代码。如果设置间隔,则会影响所有动画,补间等。
如果您想要发生某些事情,您可以存储上一次,然后检查下一次以确定您希望某些事情发生的频率:
var lastTime = 0;
function tick(event) {
// Check the time diff
var time = new Date().getTime();
if (time > lastTime + 5000) {
// Do something every 5 seconds
makeEnemy();
lastTime = time;
}
// Update the stage
stage.update(event);
}
否则,@ CrisMVP3200评论是对的。考虑将setInterval
用于重复事件,并将setTimeout
用于延迟后的单个异步回调。
干杯。