没有透明背景的SKLabelNode

3

嗨,我正在使用自定义字体在SKLabelNode上。

我能够设置字体颜色,但是文本的内部部分是透明的。

有没有办法将它们的颜色设置为白色?

我的代码如下:

    scoreLabel.fontColor = [SKColor colorWithRed:0.0 green:0 blue:0.0 alpha:1.0];

a busy cat


你可以使用另一种外观相同(没有3D效果)的字体,并将其叠加在此标签上。 - ZeMoon
1个回答

3
我发现最简单的方法是将SKSpriteNode和SKLabelNode组合在一起。 你只需要将SKLabelNode作为SKSpriteNode的子节点添加即可。
    SKLabelNode *label = [[SKLabelNode alloc]initWithFontNamed:@"Courier"];
    label.text = @"blah";
    label.fontColor = [UIColor blueColor];

    SKSpriteNode *background = [SKSpriteNode spriteNodeWithColor:[UIColor whiteColor] size:CGSizeMake(label.frame.size.width, label.frame.size.height)];
    background.position = CGPointMake(200, 100);
    [background addChild:label];
    label.position = CGPointMake(0, -label.frame.size.height/2);

    [self addChild:background];

结果看起来像这样... 在此输入图片描述

你是指在 b 和 a 的内部将颜色设置为白色吗? - maelswarm
关闭,我已经在我的问题中添加了一个示例图像。因此,文本的白色部分应该如所显示的那样,但在我的情况下它是黄色的,就像是透明的! - user1216855

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接