在我的游戏中,我无法真正使用CameraNode,因为它会搞砸所有外观并正确移动的方式。我的播放器沿着x轴移动,我在update()函数中设置了这个:
if player.position.x > 50.0 {
foregroundNode.position = CGPointMake(-(player.position.x - 50), 0)
}
但是,我的播放器在拍得太多时仍会离开屏幕。如何使它保持在屏幕上,但当我的播放器向前移动时前景节点仍将向后移动?如有必要,将发布更多代码。
答案 0 :(得分:2)
if player.position.x < 50
{
let dx = 50 - player.position.x // if player is at 49, the change is 1
player.position.x = 50
background.position.x += dx // we want to add dx and not subtract because the background moves in the opposite direction of the player
}