SKAction.fadeOut(withDuration:2.0)是从场景中删除节点还是"隐藏"它?

Ste*_*nie 2 ios sprite-kit swift

所以我正在制作一个游戏,我淡出一个节点,但我不知道它是从场景中删除还是只是隐藏了.我想在完全相同的位置添加另一个节点,我不希望彼此有节点.

let fadeOutAction = SKAction.fadeOut(withDuration: 2.0)
nodeToFadeOut.run(fadeOutAction)
Run Code Online (Sandbox Code Playgroud)

这很完美,但我不知道节点是否从场景中删除.

Flu*_*ity 5

这是你可能会发现有用的东西:)

func fadeAndRemove(node: SKNode) {
  let fadeOutAction = SKAction.fadeOut(withDuration: 2.0)
  let remove        = SKAction.run({ node.removeFromParent }())
  let sequence      = SKAction.sequence([fadeOutAction, remove])
  node.run(sequence)
}

fadeAndRemove(node: myCoolSpriteNode)
Run Code Online (Sandbox Code Playgroud)

您可以通过多种方式验证,但最简单的方法是查看屏幕右下角的节点数:

在此输入图像描述

我的节点数从4开始,然后在2秒后降到3 :)