我是SpriteKit的新手,我正在尝试通过创建类似于流行的iOS游戏Snake vs Block的游戏来学习 (game screenshot )。 我不确定我是否能最有效地设置游戏物理。
我将块设置为受重力影响,而球节点则没有。 在touchesMoved方法中,我将球节点的位置设置为触摸的x位置(y永远不会改变)。
一旦检测到碰撞,将重力设置为零矢量,移除前导球并将最后一个球置于其位置。 移除块后,我恢复重力。
但是我不确定如何在比赛中保持几个球节点相互连接,并使它们跟随引导球的滞后位置。
对此有何建议?
答案 0 :(得分:3)
您可以通过SKPhysicsJointPin
将它们作为关节连接在一起。你基本上是制作绳索/链条,Box2d绳索有很多例子(SpriteKit物理学是Box2d)。
只需将最新的球作为针脚连接到底部:
除了我的答案之外,以下是一些参考资料:
将objC转换为swift(或多或少): https://objectivec2swift.com/#/home/converter/
(Github投影链接):https://www.youtube.com/watch?v=7jWdcbmnmKQ
http://www.waveworks.de/howto-make-hanging-chains-sprite-kit-physics-joints/
https://developer.apple.com/documentation/spritekit/skphysicsjoint