2017-02-18 46 views
0

我有一个Player这是一个自定义SKShapeNode类对象。 我增加了一个camera跟随玩家,它正在工作,但我希望相机更频繁地跟随玩家。现在它只是检查照相机是否在其视野内还有播放器,如果它没有移动照相机。 我试图检查屏幕的高度,并在靠近顶部时移动它,但它不起作用。 这是我现在有(在update()功能运行)代码:如何使相机更频繁地移动?

if (!cameraNode.contains(mPlayer)) { 
    moveCamera() 
} 

这是moveCamera():

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

回答

0

这取决于你的场景是如何设置的,但是这可能工作:

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

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

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

您可以尝试allowedDelta值,看看什么效果很好。

+0

谢谢:),工作很好。 – swiftnewbie