SpriteKit:从GameScene导航回LauncherScene时协调器值为nil的问题求助
SpriteKit:从GameScene导航回LauncherScene时协调器值为nil的问题求助
各位好,我刚入坑iOS/Swift/SpriteKit,正在把一个简单的纸牌接龙游戏从Android移植过来。目前我已经做了两个核心场景:
- LauncherScene:作为App的首页,负责游戏入口
- GameScene:处理发牌逻辑和游戏的核心玩法
我已经在LauncherScene里成功实现了协调器协议,现在点击首页的“New Game”文本标签时,会调用GameViewCoordinator里的newGameTapped方法,能正常从LauncherScene跳转到GameScene,这部分是没问题的。
但是现在卡在了返回逻辑上:我想在GameScene里加个返回首页的按钮,点击后回到LauncherScene,可是当我尝试调用协调器的返回方法时,发现GameScene里持有的协调器实例是nil,完全没法触发导航操作。
我在GameScene里定义了这样的弱引用属性:
weak var coordinator: GameCoordinator?
然后在LauncherScene触发跳转的时候,我尝试给这个属性赋值,比如创建GameScene实例后直接设置gameScene.coordinator = self.coordinator,但好像这个赋值没生效——进入GameScene后,不管怎么访问coordinator,它都是nil。
有没有大佬遇到过类似的问题?或者SpriteKit的场景切换有什么我没注意到的细节?比如场景初始化或者传递引用的时候有什么坑吗?麻烦给我指点一下,谢谢啦!
备注:内容来源于stack exchange,提问作者Newps
相关产品推荐
相关产品推荐

