macos - Sprite Kit模糊文本(SKLabelNode)渲染

标签 macos sprite-kit

我正在 OS X 和 Sprite Kit 上开发一款游戏。

如果您查看随附的屏幕截图,您会发现大部分文本都显得污迹/模糊。我在这里使用自定义字体,但即使使用 helvetica,问题也是一样的。另请注意,那两行“……参观饮龙客栈”。和“……离开城市”不模糊……不知道为什么。

场景大小与 View /窗口大小相同,因此这不应该是问题。

知道发生了什么吗?

Screenshot of the font issue

最佳答案

你的评论是对的,这与一半的数字有关。但与节点本身的放置无关。当您将文本居中时会发生这种情况。您可以通过创建包含 SKLabelNode 的 SKSpriteNode 子类来解决此问题。将 SKLabelNodes Horizo​​ntalAlignmentMode 设置为 SKLabelHorizo​​ntalAlignmentModeRight(或 left)。现在手动将 SKLabelNode 在 SKNode 中居中,并舍入为整数。

(在下面的例子中,我用透明纹理初始化了一个SKSpriteNode,这主要是为了调试使用,所以我可以轻松地用不透明纹理初始化它,看看它的scenter在哪里。)

更新代码:

-(id) init {
    if (self=[super initWithTextureNamed:@"1x1trans.png"]) {

        _textLabel = [SKLabelNode labelNodeWithFontNamed:@"Avenir-Light"];
        _textLabel.horizontalAlignmentMode = SKLabelHorizontalAlignmentModeRight;
        [self addChild:_textLabel];
    }
    return self;
}

#pragma mark - Getters/Setters

-(void) setDelegate:(TextBlock *)delegate {
    [super setDelegate:delegate];
    _textLabel.text = delegate.text;
    _textLabel.position = CGPointMake(floor(_textLabel.calculateAccumulatedFrame.size.width/2), _textLabel.position.y);
}

关于macos - Sprite Kit模糊文本(SKLabelNode)渲染,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23830687/

相关文章:

swift - 使 iAd 正确地提交到 AppStore

ios - SpriteKit - 背景图像被严重拉伸(stretch)

swift - 使节点以相同的速度从不同的起点移动到终点

ios - 相对于另一动态物体移动一个动态物体

c - OS X 拦截键盘事件到密码表单元素

node.js - Demeteorized 应用程序 - 错误 "npm install"

python - matplotlib 1.3.1 要求 numpy>=1.5,但您将拥有不兼容的 numpy 1.8.0rc1

macos - 如何在 Mac OSX 上读取 MY APP 的 plist 文件?

ios - swift 和 spritekit 中的碰撞

javascript - 交互式 JavaScript gem ?