【问题标题】:Pause button in SpriteKit takes several taps to resume the gameSpriteKit 中的暂停按钮需要点击几下才能恢复游戏
【发布时间】:2017-01-13 18:43:56
【问题描述】:

我已经阅读了几个关于在 SpriteKit 中暂停场景的问题/答案,但没有一个能解决我遇到的问题。

我的游戏场景中有一个暂停按钮。 Z 位置远高于场景中的任何其他 SKSpriteNode。第一个问题是,有时需要点击 2 或 3 次才能暂停场景,但主要问题是要恢复游戏,有时只需点击一次即可正常工作,但其他时候,点击它会前进 2-3 帧而且我有时甚至需要点击 5 次才能完全恢复游戏。

下面是我用于暂停按钮的代码,它在我使用 Swift 3 的 touchesMoved 函数中。你们能提供任何建议来改进此代码并修复此故障吗?感谢您的帮助。

        let nodeUserTapped = atPoint(pointOfTouch)

        if nodeUserTapped.name == "PauseButton" {

            if (self.isPaused == true) {
                self.isPaused = false
                physicsWorld.speed = 1
            } else {
                self.isPaused = true
                physicsWorld.speed = 0
            }

        }

【问题讨论】:

    标签: sprite-kit swift3


    【解决方案1】:

    通常您应该使用touchesBegan 简单地使用“按下按钮”纹理为按钮设置动画,然后将您的代码放入touchesEnded 以确保当用户在按钮内松开手指时运行它。您在touchesMoved 中编写的代码仅在手指在屏幕上至少滑动一点时才会运行。

    【讨论】:

      猜你喜欢
      • 2017-05-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多