javascript - 如何使用 setTimeout 在 n 秒后更改对象的属性
问题描述
在此处输入图像描述https://github.com/sarang997/simulation1 这是我正在进行的模拟。您可以尝试运行 html 文件以使其正常工作。模拟中有圆圈相互碰撞。每当红色圆圈与绿色圆圈碰撞时,它会将绿色圆圈的颜色变为红色。现在我想要的是,一旦圆圈变成红色,我想要一个计时器,它会在 n 秒后将其颜色变为蓝色。我无法做到这一点。
shape.js 文件中有一个部分可以检测到圆圈之间的碰撞,这就是我要更改颜色的地方,而这正是我希望计时器开始的地方。(shapes.js 文件中的第 104 和 110 行)
解决方案
这是我对问题的解决方案,如果您希望圆圈继续更改颜色(此处由 console.log 替换),您也可以循环它。N 在这里等于秒,它乘以 1000,因为 setTimeout 默认使用毫秒。
function changeColor(seconds) {
setTimeout(function () {
console.log('Here the circle would change color.');
}, seconds*1e3);
}
changeColor(3)
推荐阅读
- nginx - 将 www 重定向到非 www 用于 Nginx 中的子过滤路径
- javascript - 从 ReactJS 项目中删除未使用的组件
- sql - 取消堆叠开始和结束日期到月份
- c# - 在 C# HttpClient 中发送表单数据
- android - 如何从 Flutter 中的字符串中提取表情符号?
- javascript - 打字稿:如何获得承诺值并将其分配给外部变量
- react-native - Redux 复选框值 React Native
- java - 写清单
在 csv 文件 Java 中的特定列上 - c# - 添加输入后,带有计数器的for循环不起作用
- django - 如何在 drf 中使用访问 jwt 令牌向用户发送它