![]()
我有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委托模式所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)