我的SKLabelNode没有改变颜色

时间:2014-04-08 21:46:32

标签: ios sprite-kit uicolor

我的iOS应用程序中有一个SKLabelNode来显示玩家的分数。我想能够改变它的颜色(现在,只是标准的青色)。但我似乎无法弄清楚为什么它没有改变。我有另一个应用程序,我已经使用过这个并没有任何问题。

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

然后在更新中,我会在每次更新时使用更新的分数更新字符串。

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

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


}

3 个答案:

答案 0 :(得分:34)

我相信你想使用pScoreNode.fontColor = [UIColor cyanColor];

color属性用于与colorBlendFactor一起进行颜色混合。

答案 1 :(得分:11)

仅供参考,对于那些在Swift中使用的人:

label.fontColor = UIColor.blackColor()

答案 2 :(得分:3)

例如,如果你想让你的标签黑色使用;

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