Sprite kit 如何将标签添加到SCNNode?
我正在尝试将标签添加到SCNNode。到目前为止,我已经成功地将SKLabelNode设置为SCNNode的材质。它的工作排序,我可以SCNNode成为背景色的SKLabelNode,但我看不到文本。有时我可以看到红色的薄雾(文本颜色为红色),但没有可读的文本 我还尝试将材质设置为UIView,并将UiLabel添加为子视图。再次设置为我可以整个SCNNode成为UiLabel的背景色,但我看不到任何文本Sprite kit 如何将标签添加到SCNNode?,sprite-kit,label,scenekit,arkit,Sprite Kit,Label,Scenekit,Arkit,我正在尝试将标签添加到SCNNode。到目前为止,我已经成功地将SKLabelNode设置为SCNNode的材质。它的工作排序,我可以SCNNode成为背景色的SKLabelNode,但我看不到文本。有时我可以看到红色的薄雾(文本颜色为红色),但没有可读的文本 我还尝试将材质设置为UIView,并将UiLabel添加为子视图。再次设置为我可以整个SCNNode成为UiLabel的背景色,但我看不到任何文本 var block = SCNNode() var spriteScene = SKSce
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)
我是经过反复试验才得到的。在获得这些大小、比例和旋转之前,我必须尝试不同的值,以显示我想要的标签。
注意:我这里的节点是SCNPlane,宽度为0.3,高度为0.2,所以场景和矩形的大小以及标签的位置都是相应的硬编码
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
}