我正在SpriteKit中制作一个简单的游戏,我正在尝试使用UIKit制作一个主菜单.我为主菜单创建了一个View控制器,为游戏创建了一个单独的控制器.每当按下播放按钮时,它都会切换到游戏视图控制器,然后呈现第一个场景.然而,每当它试图将游戏视图控制器的UIView转换为SKView以及能够呈现场景时,某些东西都会失败,并且崩溃报告是汇编,我不知道如何调试.我相信它实例化游戏视图控制器两次,因为当我在viewWillLayoutSubviews()方法中放置println()时,它会打印两次.关于这一点的另一篇文章说,在演员阵容期间类型已经是SKView,导致它失败,在这种情况下,这可能意味着当它触发两次时,它会施放一次,然后再次尝试施放并失败.提前致谢!
这是快速的代码
import UIKit
import SpriteKit
class MenuViewController: UIViewController {
let background = UIImageView(image: UIImage(named: "background.png"))
let titleImg = UIImageView(image: UIImage(named: "title.png"))
override func viewDidLoad() {
background.frame = self.view.frame
titleImg.frame = CGRectMake(0, 0, self.view.frame.width, 100)
self.view.addSubview(background)
self.view.addSubview(titleImg)
let bp = ButtonPositions(controller: self)
let play = button(bp.playY, named: "playButton.png")
let leader = button(bp.leaderY, named: "leaderButton.png")
let rate = button(bp.rateY, named: "rateButton.png")
play.addTarget(self, action: "playPressed", forControlEvents: UIControlEvents.TouchDown)
leader.addTarget(self, action: "leaderPressed", forControlEvents: UIControlEvents.TouchDown)
rate.addTarget(self, action: "ratePressed", forControlEvents: UIControlEvents.TouchDown)
self.view.addSubview(rate)
self.view.addSubview(leader)
self.view.addSubview(play)
}
func …Run Code Online (Sandbox Code Playgroud)