使用 SKRenderer 渲染文本
Render text with SKRenderer
我在我的项目中初始化了 SKRenderer 以将其与金属一起使用。虽然我不确定自己是否正确,但我需要知道如何使用它来渲染简单的 2D 文本?
例如,这里是我们如何用 SKLabelNode
绘制文本,我们有类似的 SKRenderer 吗?
非常感谢
let winner = SKLabelNode(fontNamed: "Chalkduster")
winner.text = "You Win!"
winner.fontSize = 65
winner.fontColor = SKColor.red
winner.position = CGPoint(x: 100, y: 100)
view.addChild(winner)
您需要做的第一件事是初始化场景。
var renderer: SKRenderer
var skScene: SKScene
在你的初始化函数中:
renderer = SKRenderer(device: device)
// iphone 11 portrait
skScene = SKScene(size: CGSize(width: 1125, height: 2436))
renderer.scene = skScene
let winner = SKLabelNode(fontNamed: "Chalkduster")
winner.text = "You Win!"
winner.fontSize = 65
winner.fontColor = SKColor.red
winner.position = CGPoint(x: 1125 / 2, y: 2436 / 2)
skScene.addChild(winner)
最后在您的渲染函数中:
renderer.render(withViewport: viewport, renderCommandEncoder: renderEncoder, renderPassDescriptor: renderPassDescriptor, commandQueue: commandQueue)
renderEncoder.endEncoding()
但请记住 ui 层 (SKRenderer) 应该在最后一次渲染。
我在我的项目中初始化了 SKRenderer 以将其与金属一起使用。虽然我不确定自己是否正确,但我需要知道如何使用它来渲染简单的 2D 文本?
例如,这里是我们如何用 SKLabelNode
绘制文本,我们有类似的 SKRenderer 吗?
非常感谢
let winner = SKLabelNode(fontNamed: "Chalkduster")
winner.text = "You Win!"
winner.fontSize = 65
winner.fontColor = SKColor.red
winner.position = CGPoint(x: 100, y: 100)
view.addChild(winner)
您需要做的第一件事是初始化场景。
var renderer: SKRenderer
var skScene: SKScene
在你的初始化函数中:
renderer = SKRenderer(device: device)
// iphone 11 portrait
skScene = SKScene(size: CGSize(width: 1125, height: 2436))
renderer.scene = skScene
let winner = SKLabelNode(fontNamed: "Chalkduster")
winner.text = "You Win!"
winner.fontSize = 65
winner.fontColor = SKColor.red
winner.position = CGPoint(x: 1125 / 2, y: 2436 / 2)
skScene.addChild(winner)
最后在您的渲染函数中:
renderer.render(withViewport: viewport, renderCommandEncoder: renderEncoder, renderPassDescriptor: renderPassDescriptor, commandQueue: commandQueue)
renderEncoder.endEncoding()
但请记住 ui 层 (SKRenderer) 应该在最后一次渲染。