c++ - 在 Box2D 中将对象限制为路径
问题描述
是否可以将 Box2D 中的对象限制为路径?
具体来说,我想在过山车之类的地方移动汽车,并使用 Box2D 进行物理和碰撞检测。
这可行吗?
解决方案
可以将对象限制为 Box2D 中的路径,是的。
以下是实现此目的的一些方法,其中第二种方法更接近您的具体要求:
- 使用关节。棱柱接头(使用
b2PrismaticJointDef
)将提供一条直线路径。示例用法可以在 Box2D 测试台代码中找到,例如slider_crank_1.cpp
和slider_crank_2.cpp
。同时,距离关节 (b2DistanceJointDef
) 可用于将对象保持在圆形路径上。类似地,其他关节将根据其用途和配置将对象限制为路径。 - 使用其他对象充当路径的墙壁。这方面的示例可以在 Box2D
character_collision.cpp
测试台代码中找到。
推荐阅读
- html - 如何为其中没有任何元素的 div 设置样式?
- excel - 功能在同一个单元格的excel中显示实时日期和时间。并且可以添加从其他单元格获取的多天、几小时和几分钟?
- javascript - 在原始 JS 的循环中仅触发一次 classLiss.add 事件
- r - 可以通过ggplot(geom_line)在同一网格中显示两个变量图例吗?
- c# - Blazor 服务器 pwa
- android - 如何在 Flutter 中显示预定通知时获取事件
- php - 避免基于另一个列值的列值的 SQL INSERT 重复
- android - 如何使用 textwatcher 在 kotlin 中启用验证按钮?
- spring - 项目reactor,依次处理元素,等待外部服务返回
- build.gradle - openApiGenerate 不生成模型