2016-08-25 6 views
0

Imはhttp://i.stack.imgur.com/9rhAH.pngのようなオフスクリーンノードの部分なしで画面の左端と右端に2つのSKshapeNodeを配置しようとしています。私は、一方のノードが他方のノードにしたがって配置されることを望まない。 私はminXとmaxXを使い、画面とSKshapeNodesの幅を使用しようとしていました。私はそれを理解できません。スウィフト:SKshapeNodeを左端/右端に配置しますが、オフスクリーンではありません。

これは私がこれまで

class GameScene: SKScene { 
    override func didMoveToView(view: SKView) { 

     let firstShapeNode = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 50, height: 50)) 
     firstShapeNode.position = CGPoint(x: 0, y: self.frame.height/2) 
     firstShapeNode.fillColor = SKColor.purpleColor() 
     self.addChild(firstShapeNode) 

     let secondShapeNode = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 50, height: 50)) 
     secondShapeNode.position = CGPoint(x: 0, y: self.frame.height/2) 
     secondShapeNode.fillColor = SKColor.cyanColor() 
     self.addChild(secondShapeNode) 

} 

任意の提案が持っているものでしょうか?

+0

フレームプロパティ – Knight0fDragon

+0

を使用しています。フレームプロパティ – Swift

+0

を使用しています。ノードをレイアウトするために使用しているコードを投稿すると、より迅速に解決に役立ちます。 – nathan

答えて

1

この試して、それぞれ、左画面の右側にノードを整列させる:SpriteKitベースで

firstShapeNode.position = CGPoint(x: firstShapeNode.size.width/2, y: self.frame.height/2) 
secondShapeNode.position = CGPoint(x: self.frame.maxX - secondShapeNode.size.width/2, y: self.frame.height/2) 

は、UIKitのとは異なり、画面上のデフォルトの原点(0,0)ポイントであります左下隅。さらに、既定では、SKNodepositionがノードの中心です。そのため、ノードの幅の半分だけオフセットする必要があります。

+0

これはSKShapeNodesではなくSKShapeNodesで動作します – Swift

+0

SKShapeNodesではこれがうまくいかないのですが、唯一間違っているのは 'firstShapeNode.frame.size.width'でなければなりません。なぜ、nathanが' self.view'を使用しているのか分かりませんビューフレームではなくシーンフレーム – Knight0fDragon

+0

@スウィフトこれを使用しようとするとどのような問題が発生していますか? (また、シーンのフレームを使用する私の答えを固定しました。) – nathan

関連する問題