2014-04-08 17 views
17

Nella mia app iOS ho uno SKLabelNode per visualizzare il punteggio di un giocatore. Voglio essere in grado di cambiare il colore di esso (per ora, solo per un colore ciano standard). Ma non riesco a capire perché non sta cambiando. Ho un'altra app in cui ho usato questo e non ho avuto problemi.Il mio SKLabelNode non cambia colore

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; 
} 

Poi più tardi nell'aggiornamento, aggiorno la corda con il punteggio aggiornato ad ogni aggiornamento.

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

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


} 

risposta

31

credo che si desidera utilizzare pScoreNode.fontColor = [UIColor cyanColor];.

La proprietà color è per la miscelazione del colore in combinazione con colorBlendFactor.

2

Ad esempio, se si desidera utilizzare l'etichetta in nero;

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

FYI, per quelli di voi a fare questo in uso Swift:

label.fontColor = UIColor.blackColor()