问题标签 [skphysicsjoint]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
115 浏览

ios - SKPhysicsJointPin 上的 lowerAngleLimit 是否损坏?

我从来没有得到在 SKPhysicsJointPin 对象上正常工作的上/下角度限制,我想我终于弄清楚了原因:如果 lowerAngleLimit 设置为负值,它每次都会中断。它仅适用于正值。

例如,假设我设置了这个 90º 引脚:

现在我将让精灵缓慢地朝下限旋转。当它达到 -90º 时,它会突然将精灵放大到 0º。它永远不会固定在 -90º。我尝试什么负值并不重要,-1.0 会做同样的事情。它似乎是 SpriteKit 中的一个错误。有没有其他人让这个工作,或找到解决方法?

0 投票
1 回答
273 浏览

sprite-kit - 带销接头和限位的绳索显得压缩、卷曲

我有一根在链环之间有销接头的绳索。它工作得很好。

我现在想模拟真实的链条,所以我为销接头添加了限制,如下所示:

但是,当我使用类似球的链条开头时,我会得到图片 3-4(如下所示)

我尝试使用约束,但它们并没有真正的帮助

0 投票
0 回答
237 浏览

sprite-kit - SKPhysicsJointLimit 在场景中创建三个锚点

我正在尝试使用 SKPhysicsJointLimit 在场景中将两个 SKSpriteNode 连接在一起。一个节点不受物理模拟的影响,另一个受物理模拟的影响。这应该导致钟摆运动。但是,当使用 SKPhysicsJointLimit 连接节点时,似乎会创建三个锚点。

可以在这里看到http://imgur.com/a/hQqVP绿色节点不受物理模拟的影响。

我的场景的锚点是 (0.5, 0.5),但如果它设置为 (0, 0),物理模拟可以工作,但位置不正确。另一个解决方法是创建临时替代位置,这些位置被场景的缩放宽度和高度偏移,并在创建关节时使用这些位置。下面的代码显示了这一点。

首先,我不确定为什么会这样。结果点不在场景坐标中。此外,如果精灵包含在世界节点中并且世界节点正在改变其在场景中的位置,则此“解决方案”将不起作用。即使场景中的节点位置用于 SKPhysicsJoint。

那么,有没有办法让 SKPhysicsJointLimit 在锚点为 (0.5,0.5) 的场景中正常运行,而不必偏移节点的位置。

0 投票
1 回答
173 浏览

swift - node.physicsBody.joints 向下转换错误

以下代码给出了错误 - 物理关节数组似乎具有 PKPhysicsJoint 类。任何人都知道如何在 Swift 中迭代关节?

文档确实说physicsBody.joints 应该返回一个SKPhysicsJoint 数组。

给出错误:

0 投票
0 回答
237 浏览

sprite-kit - SKNode zRotation 值在 pinned=true 和 allowedRotation=false 时跳跃

这个问题很可能与这个问题有关。但是,我没有足够的声誉来添加该讨论。

当固定节点的 zRotation 在场景空间中达到(或可能接近)正或负 PI并且 node.physicsBody.allowRotation = false 时,节点的局部 zRotation 立即跳转到负或正 5.497...弧度,具体取决于在旋转方向上。

如果节点正在移动,则视觉结果是节点链翻转、抖动和/或通常行为不端。

如果节点没有移动,结果仍然会发生,但没有明显的视觉效果。

我在下面的一个小测试用例中重新创建了这个问题。

编辑:这个问题似乎仅限于身体被固定在一系列的地方。我在这里看到了节点嵌套的地方,以及节点具有相同父级并手动固定在一系列中的地方。

编辑 2:将测试用例更改为在更新序列过程中输出节点 zRotation 值。

编辑 3:与 Apple 确认这是一个错误。

输出:

0 投票
1 回答
305 浏览

swift - Swift SpriteKit SKPhysicsJointPin

我正在尝试在 Swift SpriteKit 中实现一条绳索并为其添加物理,该位置对所有人都有好处,但它们不会附着,当我点击播放时,它们都会掉落,除了第一个是“持有人”。这是我的代码:

0 投票
1 回答
323 浏览

swift - Swift SKPhysicsJointPin 和场景锚点

我在我的 SpriteKit 游戏中添加了一根绳子,一切正常。但是,如果我将场景锚点更改为 (0.5, 0.5),绳子的每一段都会掉落。如果我把它留给 (0, 0) 一切都好。即使我将锚点更改为(0.5,0.5),有什么方法可以使绳索正常工作吗?非常感谢!

0 投票
0 回答
213 浏览

swift - 侧滚动 Swift SpriteKit 游戏中的 SKPhysicsJointPin

我正在尝试在 SpriteKit 中开发横向滚动游戏。我的问题如下:

  • 我正在尝试在我的游戏中添加一根绳子,但是当我开始游戏时它会断掉。当我将这条绳索添加到非滚动游戏中时,它运行得非常好。我认为问题出在场景锚点之类的地方,但我就是想不通。我已经有一个星期的“辛苦”了。我有一个名为“世界”的 SKNode,所有对象都附加到它上面,我将“世界”向左移动,我将“相机”放在我的玩家身上,所以玩家向右移动,所有其他对象都是被留下来。

这是我的代码:

  • 这是“世界”的功能

    /li>
  • 这是绳子的功能

    /li>

我应该如何制作这条绳索,使其不再断裂?任何帮助,将不胜感激。谢谢!

0 投票
1 回答
115 浏览

ios - 我可以在节点外设置 SKPhysicsJoint 的锚点吗?

假设我分别在 (0,0) 和 (0,1) 有两个圆圈。

我在它们之间有一个 SKPhysicsJoint 并且运行良好,现在我想在运行时将它们分开 2 的距离,这意味着当物理在游戏中工作时。我怎样才能做到这一点?

我尝试将锚点设置为 (0,0) 和 (0,2),但有些东西出了问题,尽管我看到关节没有任何影响。

我想让圆圈平滑地相互推动,好像弹簧的长度增加了一样。

如果我将一个圆圈“传送”到 2 的距离,然后将弹簧固定到它上面,一切都会正常工作,但是让一个物理对象传送会导致其他错误,正如你可以猜到的那样。

0 投票
1 回答
179 浏览

swift - Swift - sprite kit - 让 SKPhysicsJointPin 运动更少

我正在尝试创建一条具有左右移动的多个身体部位的蛇。我用的是别针,但是当蛇停下来时,身体一直在移动并且不会停止。我弄乱了最大和最小角度以及扭矩,但似乎没有任何效果。我应该使用不同类型的关节吗?