Node.js 如何运行CANVASENGINE服务器和物理世界
嗨 我将框架canvasengine与node.js一起使用。我还使用了box2d框架(物理引擎) 问题是我的画布引擎框架正在运行(因此它正在等待连接)。我想运行一个无限循环,它将逐步进入物理世界(world.step(fps,iterations)),但node.js中似乎不存在线程。那么,我如何才能做到这一点呢 谢谢你的帮助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的速度前进最
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更好。通过将模拟与渲染分离,可以调整模拟速率,从而可以在不影响渲染速率的情况下减慢或加快游戏速度。当然,不同的项目会有不同的需求。