如何在 SKLabelNode 中禁用抗锯齿?

How to disable anti-aliasing in SKLabelNode?

我想在我的 SpriteKit 游戏中使用像素字体。
但是我不能使用位图字体,因为我需要支持多种语言(字符太多)。
所以我应该使用ttf字体文件。

我试过下面的代码,但是字符被抗锯齿弄得模糊了。

let myLabel = SKLabelNode(fontNamed:"My-Pixel-Font")
myLabel.text = "Hello"
myLabel.fontSize = 10
myLabel.position = CGPoint(x: 100.0, y: 100.0)
myLabel.fontColor = SKColor.GrayColor()
self.addChild(myLabel);

在 SKLabelNode 中有禁用抗锯齿的好方法吗?

我的英文不好
谢谢。

您可以在 SKView 上调用 [textureFromNode:] 方法来获取 SKLabelNode 的纹理,将其 filteringMode 属性 设置为 SKTextureFilteringNearest 并使用该纹理创建新的 SKSpriteNode

Swift 4

let label = SKLabelNode()
label.text = "Test"
let node = SKSpriteNode(texture: view.texture(from: label))
node.texture?.filteringMode = .nearest
addChild(node)