3

私のシーンの左上のSKLabelNodeを追加しようとしています。現在、私は「300」SKLabelNodeの奇数配置

func addMoneyLabel() { 
     let moneyLabel = SKLabelNode(fontNamed:"Copperplate") 
     moneyLabel.fontSize = 25 
     print("CGRectGetMidX(self.frame),", CGRectGetMidX(self.frame)) 
     print("CGRectGetMinX(self.frame),", CGRectGetMinX(self.frame)) 
     moneyLabel.position = CGPoint(
      x:300, 
      y:CGRectGetMaxY(self.frame) 
     ) 
     moneyLabel.text = "$500" 
     moneyLabel.verticalAlignmentMode = SKLabelVerticalAlignmentMode.Top 
     moneyLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Left 
     self.addChild(moneyLabel) 
    } 

の値を使用してこれを達成していますこれは、このように見える画像を生成:

enter image description here

なぜのための「0」またはCGRectGetMinX(self.frame)正しい値ではありません左上に位置する?

答えて

2

シーンサイズがビューのサイズと必ずしも同じではないためです。デフォルトでは、シーンサイズは1024x768です。私が見ることができるように、あなたはデフォルトのシーンのサイズと比較して異なる比率と異なる次元を持つiPhone 6s +を使用しています。あなたのビューコントローラでこれを設定した場合は、ビューの同じ大きさにシーンを作ることができ、これをデバッグブレークポイントを置くか、単にscene.sizescene.view.size.

を印刷するには

scene.size = view.bounds.size 

xの位置を0に設定して(yCGRectGetMaxYに設定すると)、ラベルは左上隅に配置されます。

関連する問題