Skip to main content
 首页 » 操作系统

ios之如何使用 Swift 在 SpriteKit 程序中初始化/移动相机

2024年01月01日34xiaohuochai

我有一张 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就会移动。这是一般的想法。

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