我正在制作一个可以在按下“转到”按钮的同时切换到另一个屏幕的应用。 3秒钟后,屏幕变黑。然后6秒钟后,我希望它无需单击按钮即可退回到主屏幕,但是到目前为止,我还不知道如何使它工作。
我已将ctrl从视图控制器拖动到退出按钮以创建展开序列,但是我不知道如何在代码中调用它。
这是我在GameViewController中与segue相关的代码:
导入UIKit 导入SpriteKit 导入GameplayKit
GameViewController类:UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let skView = view as! SKView
let scene = GameScene(size: view.bounds.size)
//skView.showsFPS = true
scene.scaleMode = .resizeFill
scene.vc = self
skView.presentScene(scene)
}
@IBAction func unwindToMainMenu(sender: UIStoryboardSegue)
{
//let gameVeiwController = sender.source]
// Pull any data from the view controller which initiated the unwind segue.
}
现在这是我的GameScene类,其中包含我要取消序列的功能:
class GameScene: SKScene {
var vc: UIViewController?
private var circleNode : SKShapeNode?
var fingersDown: Int = 0
let maxFingers: Int = 4
var selectionStarted = false
var touchNodes = [UITouch:SKShapeNode]()
func startSelectionGame(){
selectionStarted = true
self.backgroundColor = UIColor.yellow
_ = Timer.scheduledTimer(withTimeInterval: 1.0, repeats: false) { timer in
//both dont work
self.vc!.performSegue(withIdentifier: "unwindToMainMenu", sender: self.vc)
self.vc?.performSegue(withIdentifier: "unwindToMainMenu", sender: self)
}
_ = Timer.scheduledTimer(withTimeInterval: 3.0, repeats: false) { timer in
self.backgroundColor = UIColor.black
self.changeColors()
}
}
Main.storyboard从第一个屏幕到游戏屏幕只有一个顺序。
我只想让我的程序正常工作,我知道我缺少一些简单的东西。谢谢。
答案 0 :(得分:2)
您需要做三件事:
unwindToMainMenu
。self.performSegue(withIdentifier: "unwindToMainMenu", sender: self)
。答案 1 :(得分:0)
您可以使用以下方式代替轻松的搜寻:
dismiss(animated: true)