2016-04-22 4 views
0

Ich möchte eine Pixelschrift in meinem SpriteKit-Spiel verwenden.
Aber ich kann keine Bitmap-Schriftart verwenden, weil ich viele Sprachen (zu viele Zeichen) unterstützen muss.
Also sollte ich eine TTF-Schriftart-Datei verwenden.
Wie kann man das Anti-Aliasing in SKLabelNode deaktivieren?

Ich habe den folgenden Code versucht, aber Zeichen wurden durch Anti-Aliasing verwischt.

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); 

Gibt es eine gute Möglichkeit, Anti-Aliasing in SKLabelNode zu deaktivieren?

Mein Englisch ist nicht gut.
Vielen Dank.

Antwort

2

Sie können [textureFromNode:] Methode auf Ihrem SKView rufen Sie Ihre SKLabelNode ‚s Textur zu erhalten, setzen Sie es filteringMode Eigenschaft auf SKTextureFilteringNearest und neue SKSpriteNode mit dieser Textur erstellen.

+0

Würde die Schriftart das Anti-Aliasing unabhängig davon nicht rendern? Sie ändern nur, wie die Textur beim Skalieren dargestellt werden soll. – Knight0fDragon

+0

@ Knight0fDragon Sie können die Beschriftung mit kleiner Größe rendern, um das Anti-Aliasing zu deaktivieren und dann die Textur auf normale Größe zu skalieren. –

+0

Ich denke, für eine Pixelschrift, die in Ordnung ist – Knight0fDragon