【问题标题】:How to add label to SCNNode?如何给 SCNNode 添加标签?
【发布时间】:2018-09-11 00:32:33
【问题描述】:

我正在尝试向 SCNNode 添加标签。到目前为止,我已经成功地将 SKLabelNode 设置为 SCNNode 的材质。它有点工作,我可以 SCNNode 成为 SKLabelNode 的背景颜色,但我看不到文本。有时我可以看到红色的烟雾(文本颜色为红色)但没有可读的文本。

我还尝试将材质设置为 UIView 并将 UiLabel 添加为子视图。它再次设置为我可以整个 SCNNode 成为 UiLabel 的背景颜色,但我看不到任何文本。

var block = SCNNode()
var spriteScene = SKScene()
var Lbl = SKLabelNode()

lbl.text = “Hello World”

lbl.color = blue (playground colour literal)
lbl. = 2 //I tried various numbers
lbl.fontColor = SKColor.red
spriteScene.addChild(lbl)

【问题讨论】:

    标签: sprite-kit label scenekit arkit


    【解决方案1】:

    经过一番尝试和尝试,我得到了它。我必须尝试不同的值,然后才能获得这些大小、比例和旋转来显示我想要的标签。
    注意:我这里的节点是 SCNPlane,宽度为 0.3,高度为 0.2,因此 SKScene 和矩形的大小以及标签的位置都进行了相应的硬编码。

    func addLabel(text: String){
        let sk = SKScene(size: CGSize(width: 3000, height: 2000))
        sk.backgroundColor = UIColor.clear
    
        let rectangle = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 3000, height: 2000), cornerRadius: 10)
        rectangle.fillColor = UIColor.black
        rectangle.strokeColor = UIColor.white
        rectangle.lineWidth = 5
        rectangle.alpha = 0.5
    
        let lbl = SKLabelNode(text: text)
        lbl.fontSize = 160
        lbl.numberOfLines = 0
        lbl.fontColor = UIColor.white
        lbl.fontName = "Helvetica-Bold"
        lbl.position = CGPoint(x:1500,y:1000)
        lbl.preferredMaxLayoutWidth = 2900
        lbl.horizontalAlignmentMode = .center
        lbl.verticalAlignmentMode = .center
        lbl.zRotation = .pi
    
        sk.addChild(rectangle)
        sk.addChild(lbl)
    
        let material = SCNMaterial()
        material.isDoubleSided = true
        material.diffuse.contents = sk
        node.geometry?.materials = [material]
        node.geometry?.firstMaterial?.diffuse.contentsTransform = SCNMatrix4MakeScale(Float(1), Float(1), 1)
        node.geometry?.firstMaterial?.diffuse.wrapS = .repeat
        node.geometry?.firstMaterial?.diffuse.wrapS = .repeat
    }
    

    【讨论】:

      猜你喜欢
      • 2015-10-17
      • 2021-01-22
      • 1970-01-01
      • 2018-03-28
      • 1970-01-01
      • 2019-09-06
      • 2019-08-11
      • 1970-01-01
      • 2019-01-29
      相关资源
      最近更新 更多