initialize/move 如何在 SpriteKit 程序中使用 Swift 相机?

How does one initialize/move a camera in a SpriteKit program using Swift?

我有一张地图,它比设备的屏幕尺寸大,所以我希望用户能够通过拖动屏幕在地图上导航,类似于《部落冲突》。

如何创建相机视图以便在地图上拖动相机?

此外,当场景切换到地图时,如何自定义相机中心的起始位置?

swift 中没有摄像头。这个想法是你将你的背景添加到 "world node"

// set up stuff you want to add to world node
let bg = SKSpriteNode(... initializer  

// make a "worldNode" that you move around
self.worldNode = SKNode()

// add your bg to the worldNode
worldNode.addChild(bg)

// add worldNode to the scene
self.addChild(worldNode)

好的,现在你有了那个..现在你有了一些方法来根据位置移动世界

func centerViewOn(centerOn: CGPoint) { 
    self.worldNode.position = CGPoint(x: -x, y: -y)
}

你传入玩家位置,worldNode会移动。大意就是这样。

您可能需要在此处添加一些条件性内容,以便相机不会移动太远。有了这段代码,摄像头就没有限制了,可以越过游戏世界的边缘。您想要限制它,以便在玩家到达边缘时它停止跟随玩家。