使用 Xcode 场景编辑器的布局约束来布置类似于 Storyboard 的精灵?

Use layout constraints for Xcode Scene Editor to lay out sprites similar to Storyboard?

Xcode Scene Editor 似乎没有提供像 Storyboard 那样定义布局约束的方法,因此您可以使用 Scene Editor 直观地放置和组织静态精灵(类似于您可以使用故事板)。

有人可以确认场景编辑器无法实现这些事情吗:

1) 使用约束相对于其他精灵和场景定位精灵(即,使精灵 A 相对于精灵 B 居中)?

2) 假设 #1 可能的,然后根据设备调整布局约束和精灵大小?

Sprite-kit 中没有类似于 UIKit 约束的布局约束,例如标记自动布局和所有元素 重新定位。

在这个地方,它可能没有意义,因为你可以有很长的背景,其中有不断改变大小的角色、消失或重新出现的物体,以及物理定律涉及的其他元素。 正如 Knigh0fDragon 所评论的,这就是 SKSceneScaleMode 存在的原因

The modes that determine how the scene’s area is mapped to the view that presents it

enum SKSceneScaleMode : Int {
    case Fill
    case AspectFill
    case AspectFit
    case ResizeFill
}

但是在Sprite-kit中有SKConstraints:

An SKConstraint object describes a mathematical constraint on a node’s position or orientation. Constraints are attached to nodes; after a scene processes any actions and physics interactions, it applies constraints attached to nodes in its node tree. Use constraints to ensure that certain relationships are true before a scene is rendered

因此,换句话说,SKConstraint 用于限制特定节点的位置和方向,例如,当您希望玩家停留或 运行 特定位置和你有一些玩家必须遵循的参考 points/elements。

一个例子:

let range = SKRange(lowerLimit:50, upperLimit:150)
let leftConstraint = SKConstraint.distance(range, toNode:guardrail)
car.constraints = [leftConstraint]