Node.js 如何运行CANVASENGINE服务器和物理世界

Node.js 如何运行CANVASENGINE服务器和物理世界,node.js,Node.js,嗨 我将框架canvasengine与node.js一起使用。我还使用了box2d框架(物理引擎) 问题是我的画布引擎框架正在运行(因此它正在等待连接)。我想运行一个无限循环,它将逐步进入物理世界(world.step(fps,iterations)),但node.js中似乎不存在线程。那么,我如何才能做到这一点呢 谢谢你的帮助 setInterval(function(){world.step()},1000/60) 你的世界应该以每秒60帧的速度前进 你的世界应该以60 fps的速度前进最

我将框架canvasenginenode.js一起使用。我还使用了box2d框架(物理引擎)

问题是我的画布引擎框架正在运行(因此它正在等待连接)。我想运行一个无限循环,它将逐步进入物理世界(world.step(fps,iterations)),但node.js中似乎不存在线程。那么,我如何才能做到这一点呢

谢谢你的帮助

setInterval(function(){world.step()},1000/60)
你的世界应该以每秒60帧的速度前进


你的世界应该以60 fps的速度前进

最近的浏览器有一个名为window.requestAnimationFrame的功能。 此功能用于在浏览器内制作平滑动画。 为了安全地实现该函数(您可以在任何地方运行它),请查看以下代码:

window.requestAnimationFrame = function() {
    return window.requestAnimationFrame    ||
        window.webkitRequestAnimationFrame ||
        window.mozRequestAnimationFrame    ||
        window.oRequestAnimationFrame      ||
        window.msRequestAnimationFrame     ||
        function(callback) {
            window.setTimeout(callback, 1000 / 60);
        };
};

最近的浏览器有一个名为window.requestAnimationFrame的函数。 此功能用于在浏览器内制作平滑动画。 为了安全地实现该函数(您可以在任何地方运行它),请查看以下代码:

window.requestAnimationFrame = function() {
    return window.requestAnimationFrame    ||
        window.webkitRequestAnimationFrame ||
        window.mozRequestAnimationFrame    ||
        window.oRequestAnimationFrame      ||
        window.msRequestAnimationFrame     ||
        function(callback) {
            window.setTimeout(callback, 1000 / 60);
        };
};

requestAnimationFrame是一件很棒的事情,绝对应该使用它,但最好是您确切知道使用它的原因和时间。从渲染循环来看,这是完美的,但当逐步进行物理模拟时,您可能会发现使用setInterval更好。通过将模拟与渲染分离,可以调整模拟速率,从而可以在不影响渲染速率的情况下减慢或加快游戏速度。当然,不同的程序会有不同的需求。requestAnimationFrame是一件很棒的事情,绝对应该使用它,但最好是您确切知道使用它的原因和时间。从渲染循环来看,这是完美的,但当逐步进行物理模拟时,您可能会发现使用setInterval更好。通过将模拟与渲染分离,可以调整模拟速率,从而可以在不影响渲染速率的情况下减慢或加快游戏速度。当然,不同的项目会有不同的需求。