Javascript PhysicsJS中的聚合体

Javascript PhysicsJS中的聚合体,javascript,physicsjs,Javascript,Physicsjs,我想做一个名为“玩家”的定制physicsjs身体类型,它由两个圆圈和一个正方形组成。该图形看起来像一个正方形,正方形的左右两侧各有一个圆。我想把一个自定义多边形做成这个形状,但是这些圆不是真的圆,而是看起来更像六边形。如何让physicsjs在垂直面之间绘制一条曲线而不是直线,或者如何将现有实体组合成一个新实体,这些想法都需要内置复合实体。没有简单的方法可以做到这一点,但您可以创建一个自定义实体来创建其他实体(例如,扩展一个正方形的自定义实体,创建两个圆)。只需将“连接”和“断开连接”方法添加

我想做一个名为“玩家”的定制physicsjs身体类型,它由两个圆圈和一个正方形组成。该图形看起来像一个正方形,正方形的左右两侧各有一个圆。我想把一个自定义多边形做成这个形状,但是这些圆不是真的圆,而是看起来更像六边形。如何让physicsjs在垂直面之间绘制一条曲线而不是直线,或者如何将现有实体组合成一个新实体,这些想法都需要内置复合实体。没有简单的方法可以做到这一点,但您可以创建一个自定义实体来创建其他实体(例如,扩展一个正方形的自定义实体,创建两个圆)。只需将“连接”和“断开连接”方法添加到自定义实体,以便在将其添加到世界时可以添加和删除额外的圆实体

然后可以使用verlet约束将它们连接在一起

至于外观,你需要找到一种自己用画布绘制的方法。如果你想知道曲线多边形的物理性质,你必须自己写。因此,用图像对其进行蒙皮可能更容易。为此,只需设置“body.view=myImage”

这有点过时,但有一些例子:

定制机构是否能够管理向世界添加verlet约束。因此,为了添加身体,我会做world.add(身体),而不是必须做world.add(身体),world.add(身体约束)?是的。将“连接”和“断开”方法添加到自定义主体。当身体从世界上添加/移除时,它们将运行。然后在这些方法中,处理添加/删除约束