1

我正在使用 Box2D(AS3/Flash 版本,如果重要的话),我正在尝试计算每个身体承载的重量。

我知道如何遍历所有物体,也知道如何轮询碰撞检测例程,但似乎一旦施加重量,碰撞力就会消失为零。我忽略了某种“总静力”属性吗?

4

2 回答 2

2

使用可选的 contactListener 对象中的 contactResult 类型,您可以轮询每个项目的 normalForce 以找出正在向对象施加的力(本质上包括重量)。

请注意,睡着的物体(例如静止的堆栈)不会触发contactResults,但如果您关闭睡眠或只想在运动发生时测量力,它应该可以正常工作。

有关如何实现 contactListener 类的信息,请查看文档。

于 2009-05-07T01:35:01.097 回答
0

自从我玩 Box2D 以来已经有一段时间了,但是您是否尝试过对感兴趣的事情轮询GetReactionForce() ?

我知道,当我进行桥梁模拟并且希望桥梁根据其上的重量而断裂时,我轮询了 GetReactionForce(),如果它高于某个阈值,那么我删除了连接两个主体的关节。

于 2009-05-06T07:25:25.320 回答