在spritekit swift问题中更改场景

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在spritekit swift问题中更改场景相关的知识,希望对你有一定的参考价值。

我试图改变场景一旦玩家击中一个绿色的盒子,我有一个问题将场景更改为一个新的水平。在我的项目中,我有Level2Scene.swift和Level2Scene.sks我使用Level2Scene.sks来设计关卡,我使用Level2Scene.swift来控制场景中发生的事情。这是我在玩家点击绿框时的代码。

func didBeginContact(contact: SKPhysicsContact) {

    var bodyA = contact.bodyA
    var bodyB = contact.bodyB

    var transition: SKTransition = SKTransition.fadeWithDuration(1)
    let scene: SKScene = Level2Scene(fileNamed: scene!.size)

    if bodyA.categoryBitMask == 1 && bodyB.categoryBitMask == 2 || bodyA.categoryBitMask == 2 && bodyB.categoryBitMask == 1{

        self.view?.presentScene(scene, transition: transition)
    }
}

问题在于let场景:SKScene = Level2Scene(fileNamed:scene!.size)错误显示“变量在其自己的初始值内使用”

答案

这对我来说很奇怪..

let scene: SKScene = Level2Scene(fileNamed: scene!.size)

尝试

let scene: SKScene = Level2Scene(size: self.size)
另一答案

编译器正在告诉你究竟是什么问题。

let scene = Level2Scene(size: scene!.size)

你在创建scene的参数中使用Level2Scene变量你可能需要从你尚未创建的场景之外的其他东西中获取大小。

以上是关于在spritekit swift问题中更改场景的主要内容,如果未能解决你的问题,请参考以下文章

在 SpriteKit Swift 2 中切换场景

Swift:删除 Spritekit 中不同场景的广告

Swift / Spritekit:通过特定场景播放音乐

SpriteKit Swift 2.0 游戏:跨多个场景的按钮和节点

SpriteKit,Swift - 滚动视图不显示

Swift SpriteKit 出现场景错误