0
我在我的3D世界中的兩個SCNNode A和B. A由用戶移動,而B具有使其從左向右移動的動作。這是B上的動作:將當前運行的SCNAction應用到另一個SCNNode
let moveDirection: Float = position.x > 0.0 ? -1.0 : 1.0
let moveDistance = levelData.gameLevelWidth()
let moveAction = SCNAction.moveBy(SCNVector3(x: moveDistance * moveDirection, y: 0.0, z: 0.0), duration: 10.0)
let action = SCNAction.runBlock { node -> Void in
}
carNode.runAction(SCNAction.sequence([moveAction, action]))
A和B可發生碰撞,並且如果觸摸B,則A具有開始與乙移動如同它們是一個單獨的對象,直到用戶使用命令來移動A.碰撞在方法
func physicsWorld(world: SCNPhysicsWorld, didBeginContact contact: SCNPhysicsContact)
檢測到,但我不知道用什麼辦法我應該做與B.我想申請新的職位,或者如果可能的訴訟文書的副本一招,將當前正在執行的動作應用於節點A.我還想過讓A成爲B的子節點,然後將其移回到根節點,但似乎不起作用。