移动附着物时SpriteKit Pin关节拉伸

时间:2016-03-29 02:41:50

标签: sprite-kit skphysicsbody skphysicsjoint

我有一条使用SKPhysicsJointPin创建的绳子。在绳子的两端是两个不同的Sprites / PhysicsBodies附加。

如果我使用SKAction移动其中一个附加的精灵,绳子会拉开,然后在一段时间后最终稳定下来。

可以在此处找到与我想要实现的类似的示例项目,Rope Git Project

如果向分支添加移动操作,您将看到与下面发布的gif类似的结果。

有没有办法防止关节分离?

提前致谢, 本

Stretching rope

2 个答案:

答案 0 :(得分:1)

好的我发现运行SKAction moveBy或任何改变精灵位置的东西都不适合物理学。

我应该做的是直接改变SKPhysicsBodies的速度或者对它施加冲动/力。

还有一个SKAction runBlock方法,你可以设置速度,SKAction applyForce / applyImpulse等。

这解决了我的关节伸展问题:)

答案 1 :(得分:0)

当我试图在链轮上做一个自行车式链条时,我遇到了类似的问题。 连接物理实体的大小似乎确实与弹性有关。 最初我在链节上有非常小的半径物理体(< 1点)。在我将半径增加到3-4点之后,链条变得更加坚固并且不太可能拉伸或断裂。这在搁置想法或前进之间产生了不同。此外,确保关节锚位置在两个节点上的物理主体区域内,而不仅仅是附近。这似乎也对关节的稳固性有一些影响。