如何在不使用SKCameraNode的情况下防止玩家离开屏幕

时间:2015-12-14 17:08:13

标签: swift sprite-kit

在我的游戏中,我无法真正使用CameraNode,因为它会搞砸所有外观并正确移动的方式。我的播放器沿着x轴移动,我在update()函数中设置了这个:

 if player.position.x > 50.0 {

     foregroundNode.position = CGPointMake(-(player.position.x - 50), 0)

    }

但是,我的播放器在拍得太多时仍会离开屏幕。如何使它保持在屏幕上,但当我的播放器向前移动时前景节点仍将向后移动?如有必要,将发布更多代码。

1 个答案:

答案 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
}