我有一个简单的游戏,时间到了游戏就结束了。我有一个重新启动按钮,目前只是重新加载 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)
}
代替:
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
}
只需将该代码放在要重新加载场景的位置即可。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句