我正在尝试每10点加速JS游戏x2中的对象。 在游戏中,我同时使用
let game = setInterval(draw,100);
我应该尝试哪种技术?我已经搜索了很长时间,但是尝试通过更改setInterval来完成它并没有达到预期的效果(它一遍又一遍地加速了。)
真的很感谢您的任何建议(不是在寻找准备好的代码,只是在说!)。
答案 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)