【发布时间】:2018-10-30 22:02:43
【问题描述】:
我有一个设置在 SCNVector3(0,0,-1) 位置的 SCNNode。以下代码沿 Z 轴向前或向后移动节点,但初始平移手势将节点移动到 (0,0,0),然后按照平移手势移动节点。
let currentPositionDepth = CGPoint()
@objc func handlePan(sender: UIPanGestureRecognizer) {
let translation = sender.translation(in: sceneView)
var newPos = CGPoint(x: CGFloat(translation.x), y: CGFloat(translation.y))
newPos.x += currentPositionDepth.x
newPos.y += currentPositionDepth.y
node.position.x = Float(newPos.x)
node.position.z = Float(newPos.y)
if(sender.state == .ended) { currentPositionDepth = newPos }
}
我希望节点从其设置的 (0,0,-1) 位置移动。我尝试将 currentPositionDepth.y 设置为 -1,但是它没有达到预期的效果。我怎样才能做到这一点?
【问题讨论】: