2
在scenekit應用程序的工作後節點位置,我有2盒,可以鳴槍,以相互點。這是位置的計算,其中的鏡頭需要在第一套管中:
shot1 = SCNNode()
shot1.geometry = SCNSphere(radius: 0.5)
shot1.physicsBody = SCNPhysicsBody.dynamic()
shot1.position = SCNVector3Make
(boxNode1.position.x,
boxNode1.position.y + 1,
boxNode1.position.z - 1)
scnScene.rootNode.addChildNode(shot1)
而對於第二個框:
shot2 = SCNNode()
shot2.geometry = SCNSphere(radius: 0.5)
shot2.physicsBody = SCNPhysicsBody.dynamic()
shot2.position = SCNVector3Make
(boxNode2.position.x,
boxNode2.position.y + 1,
boxNode2.position.z + 1)
scnScene.rootNode.addChileNode(shot2)
每一個鏡頭是剛剛好的位置製成,並拋向另一個盒子將其物理學的身體施加力量作爲衝動。
對於觸摸實現,我使用touchesBegan來搜索觸摸,然後如果觸摸具有hitResult,則按照上面所述觸發拍攝。
問題發生在: 如果鏡頭例如shot1擊中了boxNode2,boxNode2會像我預期的那樣向後移動,這一次如果我用boxNode2射擊一個鏡頭,shot2的起始位置不在新位置boxNode2,正如我所期望的那樣,並開始向右開始!
那麼我該如何從boxNodes的新位置開槍呢?
感謝的人,它真的有效!現在我需要找到一種方法來分析改變脈衝角度,如果鏡頭引起了Y軸上的盒子旋轉。 – FarhaD