【问题标题】:Duplicating a game scene for a secondary level?为中学复制游戏场景?
【发布时间】:2020-05-12 19:53:20
【问题描述】:

我目前正在制作一个精灵套件 - 我已经完成了第一级。我的游戏场景从遇到管理器调用,用于我准备的场景。

我很好奇是否可以复制游戏场景以设置二级?我已经尝试过,其中在选择的“游戏场景2”运行时构建成功。

我的问题是,现在我已将其作为试验,游戏场景出现但完全静止。然后我收到一个错误,将我引导到代码中的一个语句,如下所示:

    If self.physicsBody!.velocity!.dy > 300 {
    self.physicsBody!.velocity.dy = 300
    }

我得到了错误:

线程 1:致命错误:在展开可选值时意外发现 nil。

这似乎在一个游戏场景中运行良好,突然间出现了这个错误消息..

我对 Xcode 还很陌生,并试图了解可选项,但我不明白如何克服这个问题或重新调整语句?

【问题讨论】:

    标签: xcode sprite-kit swift-optionals


    【解决方案1】:

    您可以尝试解开可选的 whit if let 语句以避免

    Thread 1: Fatal error: unexpectedly found nil while unwrapping an optional value.

    有些喜欢:

    if let physicsBody = self.physicsBody {
        if physicsBody.velocity.dy > 300 {
            physicsBody.velocity.dy = 300
        }
    }
    

    但可能根本原因是您的节点或主体在执行时未初始化。

    【讨论】:

    • 您好 - 感谢您的反馈,我现在已经消除了错误并按照您的建议运行模拟,好消息是我没有看到这个错误 - 但是在游戏中它确实保持不变我可以看到我的性格,但没有前进。我在“if let PhysicsBody = self.physicsBody {”下显示警告错误
    • 它说 - 值 'physicsBody' 已定义但从未使用过;考虑用布尔测试替换'在下面它给了我选项'用'self.physicsBody != nil'替换'让physicsBody = self.physicsBody'我已经按照建议尝试了这个膨胀,但仍然没有让玩家移动。 :/我认为您的结束陈述可能是正确的。如果您能提供进一步的建议,将不胜感激
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-04-12
    • 1970-01-01
    • 1970-01-01
    • 2017-02-21
    • 1970-01-01
    相关资源
    最近更新 更多