如何在 Swift 中将 SKTilemap 场景定位在屏幕中间
Posted
技术标签:
【中文标题】如何在 Swift 中将 SKTilemap 场景定位在屏幕中间【英文标题】:How to position SKTilemap Scene in the middle of screen in Swift 【发布时间】:2020-06-21 06:20:43 【问题描述】:我在 Swift 5 中创建了一个 TilemapScene (CKTilemapScene.sks)。这基本上是为我的游戏项目放置一个瓦片地图背景。请参阅下面的第二个屏幕截图。
然后,在我的主要 swift 代码中,我使用标准代码加载所有背景。 但是,不知何故,瓦片地图没有居中。请参阅下面的第一个屏幕截图。但是,在屏幕的左下方。我试着玩锚点。那没有帮助。是不是我设置错了?
导入 UIKit 导入 SpriteKit 导入 GameplayKit
类 GameViewController: UIViewController
override func viewDidLoad()
super.viewDidLoad()
if let view = self.view as! SKView?
if let scene = SKScene(fileNamed: "CKTilemapScene")
// Present the scene
view.presentScene(scene)
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
view.showsPhysics = true
override var shouldAutorotate: Bool
return true
override var supportedInterfaceOrientations: UIInterfaceOrientationMask
if UIDevice.current.userInterfaceIdiom == .phone
return .landscape
//.allButUpsideDown
else
return .all
【问题讨论】:
【参考方案1】:将SKScene
的位置设置为SKView
的中心。
override func viewDidLoad()
super.viewDidLoad()
if let view = view as? SKView
if let scene = SKScene(fileNamed: "CKTilemapScene")
scene.position = view.center
view.presentScene(scene)
//...
【讨论】:
以上是关于如何在 Swift 中将 SKTilemap 场景定位在屏幕中间的主要内容,如果未能解决你的问题,请参考以下文章