我的SpriteKit场景文件存在问题。我目前将GameScene.sks排在我的GameScene.swift文件中。当我的应用程序加载用户进入菜单时,用户按下播放并转换到GameScene文件以通过以下方式玩游戏:
let gameScene = SKScene(fileNamed: "GameScene")
gameScene?.scaleMode = .aspectFit
self.view?.presentScene(gameScene!, transition: SKTransition.fade(withDuration: 1.5))
当玩家击中游戏中的对象时,他们会死并返回菜单(也链接到.sks文件):
let menu = SKScene(fileNamed: "menu")
menu?.scaleMode = .aspectFill
self.view?.presentScene(menu!, transition: transition)
这里我的问题是,在用户返回菜单后,下次他们点击播放时,用户立即死亡并返回菜单。
这是因为当调用GameScene时,一切都与用户死亡时相同。换句话说,玩家正在联系导致他们死亡的同一节点。
有没有办法重置GameScene?我试过删除所有节点无济于事。
我提出错误的场景吗?
答案 0 :(得分:2)
我想出来了!我将removeFromParent()语句移到了menu.swift文件中。就在我即将过渡到GameScene之前:
obstacles.removeFromParent()
然后
let gameScene = SKScene(fileNamed: "GameScene")
gameScene?.scaleMode = .aspectFit
self.view?.presentScene(gameScene!, transition: SKTransition.fade(withDuration: 1.5))
如果您有更好的解决方案,请告诉我。谢谢!