在spritekit swift问题中更改场景

时间:2016-03-21 23:02:01

标签: swift sprite-kit

一旦玩家遇到一个绿色的盒子,我试图改变场景,我在将场景改为下一个级别时遇到了问题。在我的项目中,我有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) 错误显示“变量在其自己的初始值中使用”

2 个答案:

答案 0 :(得分:1)

这对我来说很奇怪..

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

let scene: SKScene = Level2Scene(size: self.size)

答案 1 :(得分:1)

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

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

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