概述或隐藏字体的最佳方法是什么?

pro*_*cal 14 sprite-kit

我没有在Sprite Kit中找到任何支持Drophadow或字体轮廓的内容.对于Drophadow,我猜我可以创建第二个SKLabelNode并将其偏移到另一个之后.

有没有什么方法可以使用SKEffectNode作为轮廓或阴影?可能使SKLabelNode成为SKEffectNode的子代?

更新:

我能够使用第一个后​​面的第二个SKLabelNode得到一个不错的阴影,即黑色和偏移.仍然对其他潜在的选择感兴趣,但这似乎运作良好.

Dog*_*fee 17

这很可能是你正在做的事情,但它很有效并且很简单.

- (SKLabelNode *) makeDropShadowString:(NSString *) myString
{
    int offSetX = 3;
    int offSetY = 3;

    SKLabelNode *completedString = [SKLabelNode labelNodeWithFontNamed:@"Arial"];
    completedString.fontSize = 30.0f;
    completedString.fontColor = [SKColor yellowColor];
    completedString.text = myString;


    SKLabelNode *dropShadow = [SKLabelNode labelNodeWithFontNamed:@"Arial"];
    dropShadow.fontSize = 30.0f;
    dropShadow.fontColor = [SKColor blackColor];
    dropShadow.text = myString;
    dropShadow.zPosition = completedString.zPosition - 1;
    dropShadow.position = CGPointMake(dropShadow.position.x - offSetX, dropShadow.position.y - offSetY);

    [completedString addChild:dropShadow];

    return completedString;
}
Run Code Online (Sandbox Code Playgroud)

也会尝试制作大纲......但我觉得它会更棘手......必须有办法使用位图字体.. ??? bmGlyph ......


kel*_*lin 5

从iOS 11开始,SKLabelNode具有attributedTextproperty。您需要指定strokeColorstrokeWidth并且不要忘记fontforegroundColor