我有一张 map ,它比设备的屏幕尺寸大,所以我希望用户能够通过拖动屏幕在 map 上导航,类似于《部落冲突》。
如何创建相机 View 以便在 map 上拖动相机?
另外,当场景切换到 map 时,如何自定义相机中心的开始位置?
最佳答案
swift 中没有相机。这个想法是你将你的背景添加到“世界节点”
// 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就会移动。这是一般的想法。
您可能需要在此处添加一些条件性内容,以便相机不会移动太远。有了这段代码,摄像头就没有限制了,可以越过游戏世界的边缘。您想要限制它,以便在玩家到达边缘时它停止跟随玩家。
关于ios - 如何使用 Swift 在 SpriteKit 程序中初始化/移动相机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28887973/