限制对象到 Box2D 中的路径

问题描述

是否可以将 Box2D 中的对象限制为路径?

具体来说,我想在过山车之类的地方移动汽车,并使用 Box2D 进行物理和碰撞检测。

这可行吗?

解决方法

可以在 Box2D 中将对象限制为路径,是的。

这里有一些方法可以实现这一点,其中第二种方法更接近您特别寻找的内容:

  • 使用关节。棱柱关节(使用 b2PrismaticJointDef)将提供一条直线路径。示例用途可以在 Box2D 测试台代码中找到,如 slider_crank_1.cppslider_crank_2.cpp。同时,距离关节 (b2DistanceJointDef) 可用于将对象保持在圆形路径上。同样,其他关节也会根据对象的用途和配置限制对象的路径。
  • 使用其他物体充当路径的墙壁。可以在 Box2D character_collision.cpp 测试台代码中找到此类示例。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...