Swift 如何使相机更频繁地移动?

Swift 如何使相机更频繁地移动?,swift,camera,sprite-kit,Swift,Camera,Sprite Kit,我有一个Player,它是一个自定义SKShapeNode类对象。 我添加了一个摄像头来跟踪播放器,它正在工作,但我希望摄像头能够更频繁地跟踪播放器。现在,它只是检查相机的视图中是否还有播放器,如果没有,它会移动相机。 我试着检查屏幕的高度,当我接近顶部时移动屏幕,但没有成功。 这是我现在拥有的代码(在update()函数中运行): 这是moveCamera(): 这取决于场景的设置方式,但这可能会起作用: let idealDistance: CGFloat = 600.0 let allow

我有一个
Player
,它是一个自定义
SKShapeNode
类对象。 我添加了一个
摄像头
来跟踪播放器,它正在工作,但我希望摄像头能够更频繁地跟踪播放器。现在,它只是检查相机的视图中是否还有播放器,如果没有,它会移动相机。 我试着检查屏幕的高度,当我接近顶部时移动屏幕,但没有成功。 这是我现在拥有的代码(在
update()
函数中运行):

这是moveCamera():


这取决于场景的设置方式,但这可能会起作用:

let idealDistance: CGFloat = 600.0
let allowedDelta: CGFloat = 150.0

let offset = cameraNode.position.y - (mPlayer.position.y + idealDistance)

if abs(offset) > allowedDelta {
    moveCamera()
}
您可以使用AllowedElta值进行实验,以查看哪些值工作得很好

func moveCamera(){
    let moveAction = SKAction.moveTo(y: mPlayer.position.y + 600, duration: 0.1)
    cameraNode.run(moveAction)
}
let idealDistance: CGFloat = 600.0
let allowedDelta: CGFloat = 150.0

let offset = cameraNode.position.y - (mPlayer.position.y + idealDistance)

if abs(offset) > allowedDelta {
    moveCamera()
}