我最近更新到最新的Xcode 8 beta 6.我以前是测试版4(我认为)。我试图编译我的代码并得到了这个错误:
以下是摘录:
private func setupPlane() {
// create plane geometry with size and material properties
let myPlane = SCNPlane(width: 10000.0, height: 10000.0)
myPlane.firstMaterial!.diffuse.contents = NSColor.orange.cgColor
myPlane.firstMaterial!.specular.contents = NSColor.white.cgColor
// intialize noe
let planeNode = SCNNode()
// assign plane geometry to the node
planeNode.geometry = myPlane
// rotate -90.0 about the x-axis
let rotMat = SCNMatrix4MakeRotation(-CGFloat(M_PI/3.0), 1.0, 0.0, 0.0)
planeNode.transform = rotMat
planeNode.position = SCNVector3Make(0.0, 0.0, 0.0)
// setup the node's physics body property
planeNode.physicsBody = SCNPhysicsBody(type: .static, shape: SCNPhysicsShape(geometry: myPlane, options: nil))
planeNode.physicsBody!.categoryBitMask = PhysicsMask3DOF.plane.rawValue
// add to scene
sceneView.scene!.rootNode.addChildNode(planeNode)
}
如果我注释掉分配了物理主体的两行,然后设置了它的类别,则代码将编译为零错误。我不太清楚错误试图暗示的是什么。任何建议都非常感谢。
答案 0 :(得分:2)
这是编译器中的已知问题。
作为解决方法,您可以使用[:]
代替nil
:
SCNPhysicsShape(geometry: myPlane, options: [:])