Adode CC创建了自动收录器示例

时间:2017-06-15 12:57:00

标签: javascript animation adobe createjs easeljs

我在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");
 }

1 个答案:

答案 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用于延迟后的单个异步回调。

干杯。