Loop forever and provide delta time

前端 未结 4 758
别跟我提以往
别跟我提以往 2021-01-03 07:01

I\'m writing an HTML5 Game Development Javascript framework and I want to provide the user the difference in time between the last tick and the current one.

         


        
4条回答
  •  刺人心
    刺人心 (楼主)
    2021-01-03 07:24

    Would like to give my two cents. Usually I use this deltatime method in my games:

    const perfectFrameTime = 1000 / 60;
    let deltaTime = 0;
    let lastTimestamp = 0;
    
    function start() {
        requestAnimationFrame(update);
    }
    
    function update(timestamp) {
        requestAnimationFrame(update);
        deltaTime = (timestamp - lastTimestamp) / perfectFrameTime;
        lastTimestamp = timestamp;
    
        // YOUR FRAME CODE HERE!
    
    }
    
    start();
    

    This ensure you will have perfect deltatime (as like Unity deltaTime) so you can scale your times to frame time.

提交回复
热议问题