中央に配置したい SKLabelNode がありますが、十分に文書化された「ジッター効果」を取り除くために、ラベルノードを左と下に揃える必要がありました。現在、次の関数を使用してノードの位置を割り当て、ノードを配置することでシーンをセットアップしています。
func gridPointX(xPoint:CGFloat, pointY:CGFloat) -> CGPoint {
var xDivision:CGFloat = CGRectGetMaxX(frame)/5.0
var yDivision:CGFloat = CGRectGetMaxY(frame)/5.0
return CGPointMake(xPoint*xDivision, pointY*yDivision)
}
次のコードを使用して「ジッター効果」を削除するまで、これは正常に機能します。
myDateLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentMode.Left
myDateLabel.verticalAlignmentMode = SKLabelVerticalAlignmentMode.Bottom
次の方法で、x と y の位置をコードに手動で入力しようとしました。
myDateLabel.position = self.gridPointX(0, pointY: 3.6)
ただし、これにより、デバイスの種類に応じて異なるラベル位置が生成されます。SKLabelNode の長さを計算できれば、間違いなく中心を特定できます。ドキュメントを検索しましたが、解決策が得られません。何か考えはありますか?