将SKLabelNode添加到Scene Kit视图

Dev*_*mes 3 ios scenekit sprite-kit swift

我正在使用Scene Kit构建游戏.为了显示我想在屏幕上使用SKLabelNode的分数,但是,当我将它附加到SCNNode时,它看起来非常模糊:在此输入图像描述

这是我为此编写的代码,请告诉我是否有更好的方法来执行此操作而不会使文本变得如此模糊.非常感谢!

func initHUD() {

    let skScene = SKScene(size: CGSize(width: 100, height: 100))
    skScene.backgroundColor = UIColor(white: 0.0, alpha: 0.0)

    labelNode = SKLabelNode()
    labelNode.fontSize = 20
    labelNode.position.y = 50
    labelNode.position.x = 50

    skScene.addChild(labelNode)

    let plane = SCNPlane(width: 1, height: 1)
    let material = SCNMaterial()
    material.lightingModelName = SCNLightingModelConstant
    material.doubleSided = true
    material.diffuse.contents = skScene
    plane.materials = [material]

    hudNode = SCNNode(geometry: plane)
    hudNode.name = "HUD"
    hudNode.rotation = SCNVector4(x: 1, y: 0, z: 0, w: 3.14159265)
    hudNode.position = SCNVector3(x:0, y: 1, z: -5)
}

func updateHUD() {
    labelNode.text = "\(score)"
}
Run Code Online (Sandbox Code Playgroud)

ric*_*ter 8

为SceneKit场景执行HUD的典型方法是创建SpriteKit SKScene并将其设置为overlaySKSceneSceneKit视图.然后它以全分辨率渲染并始终处于相同的视图相对大小和位置.