ios - 无法调用 Spritekit 的 update() 函数中的函数

标签 ios swift sprite-kit

我正在使用 Swift 和 Spritekit 编写一个小型 2d 游戏。 我有一个 gameOver() 函数,它使 View 转到另一个场景(结束游戏),它在 attemptsBegan() 函数中工作正常,但在 update() 函数中,当满足条件时,它只是卡住游戏,没有进不去新场景,有什么问题吗? 我的猜测是 update() 函数只有 1 帧的时间来完成工作,并且它无法在这么短的时间内完成 gameOver() 函数,是吗?

代码如下:

override func update(currentTime: CFTimeInterval) {
    if hero.position.y <= 0 {
        gameOver()
    }}

最佳答案

您的更新方法可能会重复调用 gameOver 方法。您需要添加一个 BOOL 并在第一次调用时将其设置为 true,以便只调用一次。

关于ios - 无法调用 Spritekit 的 update() 函数中的函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29064393/

相关文章:

swift - 在 SpriteKit 中添加基本的左右点击并按住控件时遇到问题

ios - 为什么表格 View 滚动滞后?

ios - 如何在 Swift 中创建一个空数组?

ios - 自定义 uitextfield 的保留周期(强引用)修复?

swift - 以下 block 属性的 swift 属性 block 声明是什么?

swift - 在 Swift 中传递关键字

swift - 无法使用图像名称对 SKSpriteNode 进行子类化

ios - 我想用 IOS SpriteKit 制作一个足球

ios - NSMapTable 是如何工作的

iphone 的 Python 服务器端推送通知