gpt4 book ai didi

box2d - 检测 "stuck"尸体

转载 作者:行者123 更新时间:2023-11-30 23:57:51 26 4
gpt4 key购买 nike

我在一个相互碰撞的世界中有几个球。世界各地都有静墙。

有时,它们最终会处于沿同一路径向上/向下或向左/向右移动的位置(垂直于墙壁的运动?)

有什么简单的方法可以检测到这一点,然后在任一方向上对其进行一点旋转?

任何具有 box2d 语言的伪代码或代码将不胜感激。

编辑:图片,应@Andrew 的要求

enter image description here

如果球继续像这样移动(左/右/左/右......),我想给它一点推力,让它从当前路径移动。

最佳答案

我认为你可以创建你的 b2ContactListener要检测的子类ball-wall碰撞(很简单,在 Box2D manual 中有解释)。在你让它为每个球存储 3 个速度值之后。

  • ball-wall碰撞。
  • ball-wall之后碰撞。
  • 秒后ball-wall碰撞。

  • 当您获得这三个速度时(使用 GetLinearVelocityb2Body 函数) - 检查它们是否以一定的精度位于同一条线上(除符号外具有相同的方向)。如果满足此条件 - 应用一点旋转

    关于box2d - 检测 "stuck"尸体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11672076/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com