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会移动。大意就是这样。
您可能需要在此处添加一些条件性内容,以便相机不会移动太远。有了这段代码,摄像头就没有限制了,可以越过游戏世界的边缘。您想要限制它,以便在玩家到达边缘时它停止跟随玩家。
我有一张地图,它比设备的屏幕尺寸大,所以我希望用户能够通过拖动屏幕在地图上导航,类似于《部落冲突》。
如何创建相机视图以便在地图上拖动相机?
此外,当场景切换到地图时,如何自定义相机中心的起始位置?
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会移动。大意就是这样。
您可能需要在此处添加一些条件性内容,以便相机不会移动太远。有了这段代码,摄像头就没有限制了,可以越过游戏世界的边缘。您想要限制它,以便在玩家到达边缘时它停止跟随玩家。