我有一个简单的游戏,当时间到了,游戏结束了。我有一个重启按钮,目前只是重新加载GameScene但由于某种原因我的节点出现在屏幕左侧的中间位置的一半。我仍然可以使用屏幕的整个空间来玩游戏。
下面的图片展示了游戏在工作,结束游戏状态以及重新加载GameScene后的效果。
我不确定如何解决此问题或提供的代码。
这是我重新加载GameScene的功能:
func goToGameScene(){
let gameScene:GameScene = GameScene(size: self.view!.bounds.size)
let transition = SKTransition.fade(withDuration: 1.0)
gameScene.scaleMode = SKSceneScaleMode.fill
self.view!.presentScene(gameScene, transition: transition)
}
答案 0 :(得分:2)
替换:
gameScene.scaleMode = SKSceneScaleMode.fill
使用:
gameScene.scaleMode = .aspectFit
或者:
gameScene.scaleMode = .aspectFill
您也可以完全复制GameViewController代码,以便得到类似的内容:
if let view = self.view {
// Load the SKScene from 'GameScene.sks'
if let scene = SKScene(fileNamed: "GameScene") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFit
// Present the scene
view.presentScene(scene)
}
view.ignoresSiblingOrder = true
view.showsFPS = true
view.showsNodeCount = true
}
只需将代码放在要重新加载场景的位置即可。