Xcode场景编辑器似乎没有提供一种定义布局约束的方法,例如使用Storyboard,因此您可以使用场景编辑器直观地放置和组织静态精灵(类似于如何使用Storyboard排列UIButtons)。
有人确认使用场景编辑器无法做到这些事情:
1)使用约束(即相对于Sprite B的中心Sprite A)相对于其他精灵和场景定位精灵?
2)假设#1 是可能的,那么根据设备调整布局约束和精灵大小?
答案 0 :(得分:2)
Sprite-kit中没有布局约束,类似于UIKit约束,例如标记自动布局和所有元素重新定位。
在这个地方你可能没有意义,在这种环境中,你可以拥有不断改变大小的角色,消失或重新出现的物体的长背景,以及物理定律所涉及的其他元素。
由Knigh0fDragon评论,这是SKSceneScaleMode
存在的原因
确定场景区域如何映射到视图的模式 提出它
enum SKSceneScaleMode : Int {
case Fill
case AspectFill
case AspectFit
case ResizeFill
}
但是在Sprite-kit中有SKConstraints
:
SKConstraint对象描述节点的数学约束 位置或方向。约束附加到节点;之后 场景处理任何动作和物理交互,它适用 附加到节点树中节点的约束。使用约束来 确保在渲染场景之前某些关系为真
因此,换句话说,SKConstraint
用于限制特定节点的位置和方向,例如,当您希望玩家停留或跑到特定位置并且您有一些参考点时,可以使用它/玩家必须遵循的元素。
一个例子:
let range = SKRange(lowerLimit:50, upperLimit:150)
let leftConstraint = SKConstraint.distance(range, toNode:guardrail)
car.constraints = [leftConstraint]