每10点加速JS游戏中的对象

时间:2018-07-11 23:40:13

标签: javascript html html5-canvas

我正在尝试每10点加速JS游戏x2中的对象。 在游戏中,我同时使用

let game = setInterval(draw,100);

我应该尝试哪种技术?我已经搜索了很长时间,但是尝试通过更改setInterval来完成它并没有达到预期的效果(它一遍又一遍地加速了。)

真的很感谢您的任何建议(不是在寻找准备好的代码,只是在说!)。

1 个答案:

答案 0 :(得分:1)

您只需要挂起game返回的setInterval值即可。您可以使用它来用clearInterval()停止当前的间隔计时器,然后以新的速率开始一个新的间隔计时器。由于您未发布太多代码,因此以下是一个人为设计的示例,该示例以每10个数字加速100个的速度为例:

let i = 0
let speed = 1
let basespeed = 1000
function play() {
    console.log("play", i++)
    if (i % 10 == 0) {
        speed *= 2
        clearInterval(int)
        if (i >= 100) return
        int = setInterval(play,basespeed/speed)
    }    
}

let int = setInterval(play, basespeed)