为中学复制游戏场景?

Posted

技术标签:

【中文标题】为中学复制游戏场景?【英文标题】: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 还很陌生,并试图了解可选项,但我不明白如何克服这个问题或重新调整语句?

【问题讨论】:

【参考方案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'我已经按照建议尝试了这个膨胀,但仍然没有让玩家移动。 :/我认为您的结束陈述可能是正确的。如果您能提供进一步的建议,将不胜感激

以上是关于为中学复制游戏场景?的主要内容,如果未能解决你的问题,请参考以下文章

Learn Git Branching:在游戏中学会Git

Learn Git Branching:在游戏中学会Git

寓教于乐,在游戏中学习Vim命令

游戏中学会撸代码:这些编程学习网站不容错过

在实际场景中学习设计模式——单例模式

用python演绎神奇的生命游戏,在游戏中学习numpy和matplotlib动画