动画链中的第一个SKAction无法正常工作

时间:2019-04-27 03:04:58

标签: swift sprite-kit

我想按顺序执行2个动作,但是我想在两个动作之间更改一个变量。由于某些原因,链中的第一个动画永远无法正常工作。它的作用是将代码冻结很长时间(比该动画要运行的时间更长),然后跳到下一个动画而不播放第一个动画。

我尝试执行第一个动作,然后第二个动作(现在是第一个)没有运行,就像其他动作没有执行一样。 我还尝试过更改动画的效果和相同的结果。 我知道序列函数,但是由于我想在动画之间更改变量,所以我不使用它。

我将SKAction设置如下:

fadeIn  = SKAction.fadeAlpha(to: 1.0, duration: 0.5)
fadeOut = SKAction.fadeAlpha(to: 0.0, duration: 0.5)

然后像这样运行它们:

self.textSKNode.run(self.fadeOut) { // this action does not run
    self.label.text = text // changing the variable
    self.textSKNode.run(self.fadeIn) { // this action runs perfectly
        // then I run some code here of outside objects
    }
}

1 个答案:

答案 0 :(得分:0)

一种方法是使用 if ($password != $row['user_pwd']) { echo '<script> location = "../index.php?error=lwrongPwd&username='.$uidemail.'"; var modal = document.getElementById("myModal"); modal.classList.add("active"); </script>'; exit(); } 更改标签,然后创建一个序列,如下所示。我放慢了速度,只是为了更清楚地看到效果。

SKAction.run