Swift SpriteKit层/节点加载速度不够快

时间:2017-08-18 08:35:42

标签: ios swift sprite-kit resume pause

我创建了我的第一个简单的IOS游戏,并使用我的游戏创建了Layers the gameLayer,并使用简历Button / Node创建了一个pauseLayer。在我的gameLayer中,我有一个暂停游戏的按钮,在我的pauseLayer中有一个按钮/节点可以恢复。我在我的函数中这样做,从touchesEnded函数获取点:

    var ispaused = false

    func touchend(atPoint pos : CGPoint) {
    if ispaused == false && pausebutton.contains(pos) {
        pauseLayer.isHidden = false
        view?.isPaused = true
        ispaused = true
    }
    if ispaused == true && resumebutton.contains(pos) {
        pauseLayer.isHidden = true
        view?.isPaused = false
        ispaused = false
    }
    }

除了我看不到我的简历Button之外,一切正常。我可以点击它应该的位置,游戏恢复。但当我删除行view?.isPaused = true时,按钮显示应该是。 这让我觉得暂停视图也可能暂停加载/显示我的简历Button的过程。我该如何避免这个问题?

2 个答案:

答案 0 :(得分:0)

很好地测试你的理论,加载速度不够快。

您可以使用以下命令延迟代码执行:

split

在评估scala> "Apple#mango&banana@grapes".split("[#&@]") res0: Array[String] = Array(Apple, mango, banana, grapes)

之前,它会等待1秒钟

答案 1 :(得分:0)

也请尝试这一点,不确定它是否有效。

highlight

defer语句将执行延迟到当前范围结束。这将是touchEnd函数的结束