ios – Swift SpriteKit委托模式

ios – Swift SpriteKit委托模式,第1张

概述我一直在努力学习如何最近使用代表,实际上似乎在很大程度上理解它.但是我有一个问题. 我有1个GameViewController,1个StartScene和1个MenuScene 在我的GameViewController中,我有两个方法,我想从MenuScene调用.到目前为止,我一直在使用NSNotification,它工作正常但我正在尝试使用委托. 所以我在MenuScene中设置了一个协议 @H_502_6@ 我一直在努力学习如何最近使用代表,实际上似乎在很大程度上理解它.但是我有一个问题.

我有1个GameVIEwController,1个StartScene和1个MenuScene

在我的GameVIEwController中,我有两个方法,我想从MenuScene调用.到目前为止,我一直在使用NSNotification,它工作正常但我正在尝试使用委托.

所以我在MenuScene中设置了一个协议

protocol MenuSceneDelegate { func gameOver() func showGameCenter()}

我比这样引用它

var menuSceneDelegate: MenuSceneDelegate?

在GameVIEwController中,我在顶部添加了MenuSceneDelegate.到目前为止,一切都很标准.但是我遇到的主要问题是当我在GameVIEwController中设置委托时就像这样

let skVIEw = vIEw as! SKVIEw!    var scene = StartScene(size: skVIEw.bounds.size)    skVIEw.ignoresSiblingOrder = true    scene.scaleMode = .Resizefill    skVIEw.presentScene(scene)    scene.menuSceneDelegate = self   //Sets delegate to StartScene not MenuScene

它只适用于StartScene.如何将GameVIEwController委托从StartScene设置为MenuScene.如果我首先展示MenuScene,一切正常.但是我首先介绍了StartScene,因此我试图了解如何将委托设置为MenuScene.

我试过下面这样的东西,但它不起作用,只是似乎没有

var menuScene = MenuScene(size: skVIEw.bounds.size) menuScene.menuSceneDelegate = self

我将不胜感激任何帮助或支持.非常感谢你

解决方法 基本上解决方案是在我从开始场景变为游戏场景时设置委托,而不是在开始时. 总结

以上是内存溢出为你收集整理的ios – Swift SpriteKit委托模式全部内容,希望文章能够帮你解决ios – Swift SpriteKit委托模式所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1027321.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-23
下一篇2022-05-23

发表评论

登录后才能评论

评论列表(0条)

    保存