如何在 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)
我想在我的 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)