【发布时间】:2015-02-06 05:54:30
【问题描述】:
我正在寻找阻止 PhysicsJS 主体旋转的最佳实践方法。 我试过取消身体的旋转速度。然而,这在台阶上似乎并不有效,因为身体仍然以某种方式偷偷地进行一些旋转。将其与手动设置身体的旋转相结合一开始似乎可行:
world.on('step', function(){
obj.state.angular.pos = 0;
obj.state.angular.vel = 0;
world.render();
});
但是在过去我遇到了很多与此方法相关的错误。似乎与在调用步骤之前允许对象稍微旋转有关,这导致它在其body.state.angular.pos 设置回零时非常快速地“旋转”。这导致物体突然发现自己在主体内部,或者主体突然发现自己在墙壁/其他物体内部。您可以想象,这不是一个理想的情况。
我也觉得如此用力地设置身体的旋转一定不是最好的方法,但我想不出更好的方法。所以我想知道 PhysicsJS 中是否有一些我还没有发现的方法,基本上只是声明“这个对象不能旋转”,但仍然允许在所有其他方面将身体视为动态的。
或者,什么是获得预期效果的“最安全”方法,即使有一个不是为physicsJS量身定制的通用指南,我也会很高兴,只是为了让我了解控制动态身体旋转的一般最佳实践是什么在模拟中。
提前感谢您的任何建议!
【问题讨论】:
标签: javascript html canvas physicsjs