我已经开始使用Spritekit创建一款战斗游戏了。
我有一个启动画面和主菜单。 我使用UIViewController创建这两个页面,使用SKScene创建游戏场景。 现在在MainMenu我想在Play按钮动作中切换到GameScene 但GameScene没有显示任何内容。 我在GameScene中有突破点,令人惊讶的是,didMoveToView中的所有代码都在运行,但我的页面凹陷切换到GameScene 我还在MainMenu。
我使用以下代码从uiviewcontroller切换到游戏场景:
@IBAction func playButton(sender: UIButton) {
let scene = GameScene(size:view.bounds.size)//(fileNamed: "GameScene") {
let skView = self.view as! SKView
skView.showsFPS = true
skView.showsNodeCount = true
skView.ignoresSiblingOrder = true
scene.scaleMode = .AspectFill
skView.presentScene(scene)
}
的
override func didMoveToView(view: SKView) {
/* Setup your scene here */
let myLabel = SKLabelNode(fontNamed:"Chalkduster")
myLabel.text = "Hello, World!"
myLabel.fontSize = 45
myLabel.position = CGPoint(x:CGRectGetMidX(self.frame), y:CGRectGetMidY(self.frame))
self.addChild(myLabel)
}
正在运行,我可以通过断点导航到它。
答案 0 :(得分:0)
最后我发现了问题。 我不得不从superview中删除UIImages,Buttons,Labels等所有对象。 像这样:
for view in self.view.subviews {
view.removeFromSuperview()
}
他们没有让GameScene Nodes出现。