I'm working on some personal project by Three.js. I'm using requestAnimationFrame
function. I want to call a function each 2 seconds. I've search but I couldn't find anything useful.
My code is like this:
function render() {
// each 2 seconds call the createNewObject() function
if(eachTwoSecond) {
createNewObject();
}
requestAnimationFrame(render);
renderer.render(scene, camera);
}
Any Idea?
requestAnimationFrame
passes single parameter to your callback which indicates the current time (in ms) when requestAnimationFrame
fires the callback. You can use it to calculate time interval between render()
calls.
var last = 0; // timestamp of the last render() call
function render(now) {
// each 2 seconds call the createNewObject() function
if(!last || now - last >= 2*1000) {
last = now;
createNewObject();
}
requestAnimationFrame(render);
renderer.render(scene, camera);
}
this function will print a number every 2 seconds
let last = 0;
let num = 0;
let speed = 2;
function main(timeStamp) {
let timeInSecond = timeStamp / 1000;
if (timeInSecond - last >= speed) {
last = timeInSecond;
console.log(++num);
}
requestAnimationFrame(main);
}
main();
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With