2015-04-24 3 views

ответ

9

Попробуйте добавить SKLabelNode в качестве дочернего элемента SKSpriteNode.

SKLabelNode *label = [[SKLabelNode alloc]initWithFontNamed:@"Helvetica"]; 
label.position = CGPointMake(0, -label.frame.size.height/2); 

SKSpriteNode *background = [SKSpriteNode spriteNodeWithColor:[UIColor redColor] size:CGSizeMake(label.frame.size.width, label.frame.size.height)]; 
background.position = CGPointMake(200, 100); 

[background addChild:label]; 
[self addChild:background]; 
+0

Теперь текст не отображается в 'SKLabelNode' и особая область, где я добавил' SKSpriteNode' заполняется своим цветом. –

+0

Вы установили свойства label.text и label.fontColor, чтобы убедиться, что они видны? – Sudeep

+0

Да. Все это прекрасно работало, прежде чем добавлять эту строку кодов. Если я дам 'clearColor' в' SKSpriteNode', то ничего не видно. –

0

Добавление SKLabelNode как ребенок через SKSpriteNode работает, но он скрывает текст. Итак, я решил эту проблему, установив zPosition фона на отрицательное число. Вот скор 3 код:

var label = SKLabelNode(fontNamed: "Helvetica") 
label.position = CGPoint(x: CGFloat(0), y: CGFloat(-label.frame.size.height/2)) 
var background = SKSpriteNode(color: UIColor.red, size: CGSize(width: CGFloat(label.frame.size.width), height:CGFloat(label.frame.size.height)))background.position = CGPoint(x: CGFloat(200), y: CGFloat(100)) 
background.zPosition = -1 
label.addChild(background) 
self.addChild(label) 
+1

альтернатива: добавьте sklabelnode в качестве дочернего элемента skspritenode. то текст не будет скрыт. – Crashalot

Смежные вопросы