javascript - 如何在 javascript 游戏中随着时间的推移提高生成率

标签 javascript html nested setinterval

我正在用 javascript 编写游戏,我有这行代码:

setInterval(function () {spawnEnemy()}, 3000);

目前,它每 3000 毫秒生成一个敌人,但我希望它每 10 秒将该速率降低 20%,以便最终它会非常快地生成敌人。我尝试通过嵌套 setInterval 来做到这一点,但我成功所做的只是使我的浏览器崩溃。任何人都可以为我想要完成的任务提供正确的代码吗?

最佳答案

大致如下:

var interval = 3000;

function spawn() {
   var adjustmentPercentage = (0.2 / 10000) * interval 
   spawnEnemy();
   interval = interval - (interval * adjustmentPercentage);

   setTimeout(spawn, interval);

}

使用 setTimeout 可以让您每次更改延迟。

关于javascript - 如何在 javascript 游戏中随着时间的推移提高生成率,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26269175/

相关文章:

haskell - 在 haskell 中迭代嵌套列表的新数据类型

python - 如何从包含列表的嵌套Python字典中的键中删除符号?

Java 8 嵌套 for 循环和条件

javascript - 如何只删除最后一个字符而不是整个值?

javascript - JSON/Javascript 对象定义

javascript - JQuery 跳转到滚动 anchor

javascript - 在 Chrome 选项卡上突出显示基于正则表达式的文本?

javascript - 通过 JQuery post 发送数组导致 RangeError : Maximum call stack size exceeded

php - Google map 显示空白蓝屏

html - 如何自动换行 <a> 标签的文本?