【问题标题】:how to change the attribute of an object after n seconds using setTimeout如何使用 setTimeout 在 n 秒后更改对象的属性
【发布时间】:2021-12-01 22:37:44
【问题描述】:

enter image description herehttps://github.com/sarang997/simulation1 这是我正在做的模拟。您可以尝试运行 html 文件以使其正常工作。模拟中存在相互碰撞的圆圈。每当红色圆圈与绿色圆圈碰撞时,绿色圆圈的颜色就会变为红色。现在我想要的是,一旦圆圈变成红色,我想要一个计时器,它会在 n 秒后将其颜色变为蓝色。我无法做到这一点。

shapes.js 文件中有一个部分可以检测到圆圈之间的碰撞,这就是我要更改颜色的地方,而这正是我希望计时器开始的地方。 (shapes.js 文件中的第 104 和 110 行)

【问题讨论】:

标签: javascript canvas 2d settimeout simulation


【解决方案1】:

这是我对问题的解决方案,如果您希望圆圈继续更改颜色(此处替换为 console.log),您也可以循环它。这里的 N 等于秒,因为 setTimeout 默认使用毫秒,所以它乘以 1000。

   function changeColor(seconds) {
        setTimeout(function () {
                console.log('Here the circle would change color.');  
        }, seconds*1e3);
    }
    changeColor(3)
 

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-07-09
    • 2019-03-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多