Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Centre a SKLabelNode on a SKSpriteNode

I have an SKLabelNode that is the child of a SKSpriteNode because I'm trying to create a Button class to create buttons in an easier way. I've tried a couple of things using the anchor point of the SKSpriteNode, but I don't quite understand exactly what is going on. How do I centre the label onto the sprite (it's parent node)?

like image 978
02fentym Avatar asked Sep 13 '14 01:09

02fentym


Video Answer


2 Answers

I realized how to solve this...here's what i did. Keep in mind that I have a class called Button that is a subclass of SKSpriteNode.

In the Button.m class I have an instance variable called label that is a SKLabelNode. I add the label node as a child to the button then set the horizontal and vertical alignment modes to centre.

label = [[SKLabelNode alloc] init];
[self addChild:label];
[label setHorizontalAlignmentMode:SKLabelHorizontalAlignmentModeCenter];
[label setVerticalAlignmentMode:SKLabelVerticalAlignmentModeCenter];
like image 61
02fentym Avatar answered Sep 23 '22 13:09

02fentym


This will put your label in center of scene in sprite kit:

yourLabel.horizontalAlignmentMode = .Center;
yourLabel.verticalAlignmentMode = .Center
like image 35
guest Avatar answered Sep 22 '22 13:09

guest