Sprite-kitにはレイアウトの制約がありません。たとえば、フラグauto-layoutの場合はUIKitの制約、の場合はすべての要素の配置が変更されます。
この場所では、サイズが常に変化する文字、消滅または再表示されるオブジェクト、物理法則に関連するその他の要素を背景に長く描くことができるコンテキストでは意味をなさないことがあります。 Knigh0fDragonでコメントしたよう これはSKSceneScaleMode
が
シーンの領域はスプライト・キットで
enum SKSceneScaleMode : Int {
case Fill
case AspectFill
case AspectFit
case ResizeFill
}
しかし提示ビュー にマッピングされている方法を決定するモードを存在する理由でありますSKConstraints
:
SKConstraintオブジェクトは、数学的制約を記述します。oノードの の位置または方向。制約はノードにアタッチされます。 シーンがアクションと物理的なやりとりを処理した後、ノードツリーのノードに添付された という制約が適用されます。シーンがそう
をレンダリングされる前に、一定の関係が真であることを確認してください に制約を使用して、他の言葉で、SKConstraint
はあなたがしたい場合などのためにそれを使用することができ、特定のノードの位置と方向を制限するために使用されていますプレイヤーの滞在や特定の位置への移動、プレイヤーが従わなければならないいくつかの参照点/要素があります。
例:
let range = SKRange(lowerLimit:50, upperLimit:150)
let leftConstraint = SKConstraint.distance(range, toNode:guardrail)
car.constraints = [leftConstraint]
制約は、あなたが考えている方法は、スプライトキットには意味がありませんが、はい1を処理SKConstraintsが、)がある、2)仕事や意味がありません。これは、scaleModeが存在する理由です。 – Knight0fDragon
@ Knight0fDragonは、静的スプライト(最初の配置後に移動しないスプライト)に対して意味がない理由を親切に説明できますか? – Crashalot
あなたのシーンサイズは、調整するものではなく、静的なサイズになるように設計されています。 – Knight0fDragon