Набор спрайтов - нельзя изменить цвет текста (всегда белый)

Я пишу 2D-игру в наборе спрайтов и создаю экран меню. Пока все в порядке, за исключением того факта, что текст всегда отображается белым, какие бы значения красного, зеленого, синего и т. д. я не вводил в код. Это код, который я использую для создания фона для меню:

-(id)initWithSize:(CGSize)size
{
if (self = [super initWithSize:size]) {

    NSLog(@"Size: %@", NSStringFromCGSize(size));
    [self setBackgroundColor:[SKColor colorWithRed:0.9 green:0.9 blue:0.9 alpha:1.0]];

    self.writing = [SKLabelNode labelNodeWithFontNamed:@"Thonburi Bold"];
    self.writing.text = @"MAIN MENU";
    self.writing.fontSize = 42;
    self.writing.color = [SKColor colorWithRed:0.1 green:0.1 blue:0.1 alpha:1.0];
    self.writing.position = CGPointMake(130, 270);
    [self addChild:self.writing];
}
return  self;

}

У меня есть другой код в проекте, и я проверил, что он не имеет ничего общего с цветом текста на этом экране.

(Я новичок в программировании, поэтому это может быть довольно очевидной ошибкой)

Заранее спасибо!


person OLZ1    schedule 13.10.2013    source источник


Ответы (1)


Свойство color — это цвет наложения. Вы хотите использовать fontColor для изменения цвета текста.

label.fontColor = [SKColor colorWithRed:0.1 green:1 blue:0.1 alpha:1.0];

Вы также можете использовать color и установить colorBlendFactor в 1. Хотя это может быть медленнее в зависимости от внутренней обработки.

person LearnCocos2D    schedule 13.10.2013
comment
Спасибо, это устранило проблему. Знал, что будет что-то простое :) - person OLZ1; 14.10.2013
comment
Использование атрибута .color работало в iOS8 для установки цвета текста, но больше не работает в iOS 9. Вы должны использовать атрибут .fontColor для установки цвета текста. - person Howard Cohen; 25.01.2016