我将ARKit
与Spritekit
一起使用。基本上,我有一个旧的non-ARKit
Spritekit
游戏,并且我想将整个用户界面放在AR
中,因此它看起来像是漂浮在空中的屏幕。目前,我所做的是将我拥有的所有节点放在scene
下的container node
下。在视图控制器中,我只有
func view(_ view: ARSKView, nodeFor anchor: ARAnchor) -> SKNode? {
let bgNode = sceneView.scene?.childNode(withName: "bg")
bgNode?.removeFromParent()
return bgNode
}
但是,当它显示时,它被压缩为一个正方形,大小约为800x800
。另外,如果我尝试以编程方式将节点添加到容器节点,则无法正确显示。添加后,我还尝试将其缩放到正确的大小,但似乎并没有自动恢复到错误的大小。这是什么问题?在didMove
中将节点添加到容器节点的代码(圆圈在顶部被初始化为实例变量):
circle.strokeColor = UIColor(red: 87/255, green: 87/255, blue: 87/255, alpha: 1)
circle.lineWidth = 5.0
circle.name = "sling"
circle.position = CGPoint(x: bgNode.frame.width/2, y: bgNode.frame.height/2)
bgNode.addChild(circle)