Центрировать SKLabelNode на SKSpriteNode

У меня есть SKLabelNode, являющийся дочерним элементом SKSpriteNode, потому что я пытаюсь создать класс Button для создания кнопок более простым способом. Я пробовал пару вещей, используя опорную точку SKSpriteNode, но я не совсем понимаю, что происходит. Как разместить метку на спрайте (родительский node)?

Ответ 1

Я понял, как это решить... вот что я сделал. Имейте в виду, что у меня есть класс под названием Button, который является подклассом SKSpriteNode.

В классе Button.m у меня есть переменная экземпляра, называемая меткой, которая является SKLabelNode. Я добавляю ярлык node в качестве дочернего элемента к кнопке, затем устанавливаю горизонтальные и вертикальные режимы выравнивания в центр.

label = [[SKLabelNode alloc] init];
[self addChild:label];
[label setHorizontalAlignmentMode:SKLabelHorizontalAlignmentModeCenter];
[label setVerticalAlignmentMode:SKLabelVerticalAlignmentModeCenter];

Ответ 2

Это добавит ваш ярлык в центр сцены в комплекте спрайтов:

yourLabel.horizontalAlignmentMode = .Center;
yourLabel.verticalAlignmentMode = .Center