gpt4 book ai didi

swift - 使用 ARSKView 关闭 View Controller 时,如何刷新嵌入到先前 View Controller 中的 SKScene?

转载 作者:行者123 更新时间:2023-11-28 07:52:40 25 4
gpt4 key购买 nike

在我的 SpriteKit 游戏中,我有两个 View Controller 。一个是我的 MenuViewController,其中有一个 SKView/SKScene - 它处理关卡选择等。

然后我有我的 GameSceneViewController - 其中有一个 ARSKView/SKScene。当用户完成多个级别,例如,每个级别获得 3 颗星,然后使用暂停菜单返回到 MenuViewController 时,为每个级别显示的星星(显然)不会刷新。

这是因为此刻,当用户想要返回到 MenuViewController 时,我只需调用:

self.dismiss(animated: true, completion: nil)

我想知道是否有一个函数可以在用户关闭 GameSceneViewController 时调用以“刷新”MenuSceneController。

最佳答案

首先将下面的方法添加到MenuSceneController

class MenuSceneController: UIViewController {

func reloadScene() {
// write here your logic to reload the scene
}
}

现在,当您关闭 GameSceneViewController 时,您可以调用该方法

class GameSceneViewController: UIViewController {

func goBackToMenu() {

guard let menuSceneController = presentingViewController as? MenuSceneController else {
debugPrint("Error, this view controller was not presented by a MenuSceneController")
return
}
self.dismiss(animated: true) {
menuSceneController.reloadScene()
}
}
}

关于swift - 使用 ARSKView 关闭 View Controller 时,如何刷新嵌入到先前 View Controller 中的 SKScene?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49281020/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com