【问题标题】:how to add new SKScene With in SKScene in SpritKit Swift如何在 SpritKit Swift 的 SKScene 中添加新的 SKScene
【发布时间】:2014-08-24 07:40:37
【问题描述】:

我必须在 SpritKit 中快速添加下一个 SKScene

override func touchesBegan(touches: NSSet!, withEvent event: UIEvent!)
    {
        var objgamescen = GameScene()

        //objgamescen.initWithSize(self.size, playerWon: true)
        self.view .presentScene(objgamescen)
    }

那么 GameScene 是 Blanked 并且 Self.frame 是 (0.0,0.0,1.0,1.0)

【问题讨论】:

标签: objective-c switch-statement swift sprite-kit sprite


【解决方案1】:

听起来你只是想重新启动场景,你可以通过创建这样的函数来做到这一点

func goToGameScene(){
let gameScene:GameScene = GameScene(size: self.view!.bounds.size) // create your new scene
let transition = SKTransition.fadeWithDuration(1.0) // create type of transition (you can check in documentation for more transtions)
gameScene.scaleMode = SKSceneScaleMode.Fill
self.view!.presentScene(gameScene, transition: transition)
}

然后你只需在你希望它发生的地方调用它

goToGameScene()

【讨论】:

    【解决方案2】:

    在 SKScene 中添加了多个场景:

    let skView = self.view as SKView
            skView.showsFPS = false
            skView.showsNodeCount = false
            skView.ignoresSiblingOrder = true
            /* Set the scale mode to scale to fit the window */
            var scene: HomeScene!
            if UIDevice.currentDevice().userInterfaceIdiom == .Phone {
                if UIScreen.mainScreen().bounds.size.width < 568 {
                    scene = HomeScene(size: CGSizeMake(480, 320))
                }else {
                    scene = HomeScene(size: CGSizeMake(568, 320))
                }
            }else {
                scene = HomeScene(size: CGSizeMake(1024, 768))
            }
    
            scene.scaleMode = .AspectFill
            skView.presentScene(scene)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多