前回のSKLabelNodeのpositionプロパティの指定が気になったので調べてみました。
こんなふうにpositionを指定していましたね。
HelloScene.m
- (SKLabelNode *)newHelloNode
{
SKLabelNode *helloNode = [SKLabelNode labelNodeWithFontNamed:@"Chalkduster"];
helloNode.text = @"Hello, World!";
helloNode.fontSize = 42;
helloNode.position = CGPointMake(CGRectGetMidX(self.frame), CGRectGetMidY(self.frame));
return helloNode;
}
SKLabelNodeクラスのリファレンスがこちらになります。
SKLabelNode Class Reference
ここのhorizontalAlignmentModeプロパティを見ると、positionの水平方向の配置にはデフォルトでSKLabelHorizontalAlignmentModeCenterが設定されているようです。
horizontalAlignmentMode
(略)
The possible values for this property are listed in “Text Horizontal Alignment Modes”. The default value of this property is SKLabelHorizontalAlignmentModeCenter.
つまり、positionで指定した水平方向の座標は、SKLabelNodeインスタンスの真ん中に対応するということです。
だから前回のpositionでシーンの中心座標を指定したことにより、SKLabelNodeインスタンスも画面の真ん中に表示されていたんですね。
今回はここまで。