나는 SKLabelNodes
콜렉션을 가지고 있습니다. 각 노드는 단어의 문자를 나타냅니다. 각 노드는 SKSpriteNode
의 하위 노드입니다. spriteNode
에는 명시적인 높이가 설정되어 있습니다 (높이는 [text sizeWithAttributes:@{NSFontAttributeName : font}];
입니다). 너비는 labelNode
입니다.기준선별로 여러 SKLabelNodes 정렬
labelNode
은 spriteNode
의 가운데에 위치하며 verticalAlignmentMode = SKLabelVerticalAlignmentModeBaseline
입니다. 나중에 각 글자에 배경 이미지를 설정해야합니다 (spriteNode
을 사용하여 완성됩니다). 테스트를 위해, 나는 명백한 문제를, 단색을 사용하여 만드는 중이라서 : 당신이 볼 수 있듯이, 편지의 아래 부분은 'Y'용기 spriteNode
노호 보여주는
. 같은 일이 'g'와 다른 문자들에서도 발생합니다. 각 letterNode
(즉, spriteNode
및 자식 labelNode
)은 수직으로 가운데에 놓이고 단어의 모든 문자를 포함하는 데 사용되는 안에 가로로 간격을두고 있다고 설명해야합니다. letterNode
생성
코드 :
SKLabelNode *labelNode = [SKLabelNode labelNodeWithText:text];
labelNode.fontName = font.fontName;
labelNode.fontSize = font.pointSize;
labelNode.fontColor = colour;
labelNode.position = CGPointMake(0, -floor(height/2));
// height is the same explicit height used to create the spriteNode.
SNLetterNode *letter = [SNLetterNode spriteNodeWithColor:[UIColor lightGrayColor] size:CGSizeMake(labelNode.frame.size.width, height)];
letter.letter = text;
letter.labelNode = labelNode;
letter.size = CGSizeMake(self.labelNode.frame.size.width, height);
단어를 모든 문자가 포함 된 SKSpriteNode
은과 같이 생성됩니다
CGSize fullWordSize = [text sizeWithAttributes:@{NSFontAttributeName : font}];
SNWordNode *word = [SNWordNode spriteNodeWithColor:[UIColor clearColor] size:fullWordSize];
word.letterNodes = letterNodes;
word.text = text;
나는 문제가 방법 I에 의해 발생되는 것으로 판단 label
및 spriteNodes
의 위치 지정 및 크기 조정 중입니다. 나는 다른 verticalAlignmentModes
을 사용하여 시도해 보았고, 그것을 바탕으로 라벨을 재배치했다. 텍스트의 기준선을 기준으로 노드를 정렬하는 방법을 알고 있다면 시작일 것입니다. 회색 배경은 'Y'의 아래 부분을 덮고, 아래로 연장하고, 그것을 위해 에서 발생하는 나는 일이하고 싶은 무엇
, 모든에 관계없이이 같은 그것을 필요 여부에 letterNodes
('와이'). 텍스트가 여전히 기준선에 맞게 조정됩니다.
아무 도움이 많이 받아 들여질 것입니다,
미리 감사드립니다.