我在屏幕上有几个方形节点(如地砖),我想限制我的玩家 (P) 节点在这些节点内移动。
---------------------------------
| | P | | | | | | | <- Want no movement allowed
--------------------------------- outside of these squares.
| |
-------------
| | | | ...
-------------
我想知道是否有一种优雅的方法可以使用 SpriteKit Physics 来做到这一点,而无需在地板周围一直放置不可见的方 block 。
谢谢!
最佳答案
SKConstraint
对象描述了对节点位置或方向的数学约束。
您可以使用SKConstraint
使节点与水平轴上的特定点保持一定距离:
let center = size.width/2.0, difference = CGFloat(170.0)
let leftConstraint = SKConstraint.positionX(SKRange(constantValue: center - difference))
let rightConstraint = SKConstraint.positionX(SKRange(constantValue: center + difference))
player.constraints = [leftConstraint, rightConstraint]
您还可以决定在游戏过程中启用或禁用某个约束:
leftConstraint.enabled = false
关于swift - 如何防止节点移出(移出)另一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40033678/