如何将SKSpriteNode的手动移动约束到场景中的固定矩形区域?这个固定的矩形区域也是一个固定在场景中的SKSpriteNode。换句话说,我想约束对象(SKSpriteNode)的手动移动,使其完全包含在另一个SKSpriteNode中,或者至少包含在它所占据的相同空间中。我尝试了几种不同的方法(例如,使用具有边缘物理体的SKShapeNode),但似乎都不起作用。这似乎应该是一项相当简单的任务。感谢您提供的任何帮助或提示。
在移动代码周围放一个if语句,所以如果移动会使对象越过边界,就不要执行移动。例如
//check that a positive movement won't take your node past the right boundary
if(node.position.x + yourXMovementValue < boundaryXRight){
//move your node
}
//same for y
let rangeX = SKRange(lowerLimit: CGFloat, upperLimit: CGFloat)
let contraintX = SKConstraint.positionX(rangeX)
let rangeY = SKRange(lowerLimit: CGFloat, upperLimit: CGFloat)
let contraintY = SKConstraint.positionY(rangeY)
yourObject.constraints = [contraintX, contraintY]