2014-04-08 15 views
17

Mam węzeł SKLabelNode w mojej aplikacji na iOS, aby wyświetlić wynik gracza. Chcę móc zmienić jego kolor (na razie tylko do standardowego koloru cyjan). Ale nie potrafię zrozumieć, dlaczego się nie zmienia. Mam inną aplikację, z której korzystałem i nie miałem żadnych problemów.Mój SKLabelNode nie zmienia koloru

SKLabelNode *pScoreNode; 

NSString *playerScoreTracker; 

- (SKLabelNode *)playerScoreNode 
{ 
    pScoreNode = [SKLabelNode labelNodeWithFontNamed:@"NEONCLUBMUSIC"]; 

    playerScoreTracker = [NSString stringWithFormat:@"POWER: %ld",(long)player_score]; 

    pScoreNode.text = playerScoreTracker; 
    pScoreNode.fontSize = 20; 
    pScoreNode.position = CGPointMake(CGRectGetMidX(self.frame),inBoundsOffset/3); 
    pScoreNode.color = [SKColor cyanColor]; 

    pScoreNode.name = @"player1ScoreNode"; 

    return pScoreNode; 
} 

Następnie w aktualizacji aktualizuję ciąg ze zaktualizowanym wynikiem każdej aktualizacji.

-(void)update:(CFTimeInterval)currentTime { 
    /* Called before each frame is rendered */ 

    pScoreNode.text = [NSString stringWithFormat:@"POWER: %ld",(long)player_score]; 


} 

Odpowiedz

31

Wierzę, że chcesz użyć pScoreNode.fontColor = [UIColor cyanColor];.

Właściwość color służy do mieszania kolorów w połączeniu z colorBlendFactor.

2

Na przykład, jeśli chcesz, aby Twoja etykieta była czarna;

label.color = [SKColor blackColor]; 
label.colorBlendFactor = 1; 
10

FYI, dla tych z was robi to w Swift użytku:

label.fontColor = UIColor.blackColor() 
Powiązane problemy