Я создал функцию, которая создает круг, содержащий метку.Мне нужно клонировать эту функцию несколько раз.С помощью функции clone () я могу сделать копию всей геометрии, отлично работает.Теперь мне нужно для каждого клона редактировать текстовую метку.Моя проблема здесь, как отредактировать что-то, что «создано» один раз, чтобы потом клонировать?Как я могу получить доступ к переменным клона и в моем случае «labelNode.text».
Вот мой полный код:
@objc func createInfoPanels(climName: String) -> SCNNode {
let climNode = self.scene.rootNode.childNode(withName: climName, recursively: true)!
let planeGeometry = SCNPlane(width: 1, height: 1)
planeGeometry.firstMaterial?.diffuse.contents = NSColor.clear
let planeNode = SCNNode(geometry: planeGeometry)
planeNode.name = "planeNode"
planeNode.position.y = 4
let skScene = SKScene(size: CGSize(width: 200, height: 200))
skScene.backgroundColor = NSColor.clear
let rectangle = SKShapeNode(rect: CGRect(x: 0, y: 0, width: 200, height: 200), cornerRadius: 100)
rectangle.fillColor = .gray
rectangle.alpha = 0.8
rectangle.blendMode = .add
rectangle.lineWidth = 0
let labelNode = SKLabelNode()
labelNode.text = "°C"
labelNode.fontSize = 45
labelNode.position = CGPoint(x: 100, y: 100)
labelNode.yScale = -1
skScene.addChild(rectangle)
skScene.addChild(labelNode)
let panelMaterial = SCNMaterial()
panelMaterial.isDoubleSided = false
panelMaterial.diffuse.contents = skScene
planeGeometry.materials = [panelMaterial]
climNode.addChildNode(planeNode)
planeNode.constraints = [SCNBillboardConstraint()]
return planeNode
}
Заранее спасибо за вашу помощь!