ios - SKAction.fadeOut(withDuration : 2. 0) 是从场景中移除节点还是仅将其移除 "hides"?

标签 ios swift sprite-kit

所以我正在制作游戏并淡出一个节点,但我不知道它是从场景中移除还是只是隐藏了。我想在完全相同的位置添加另一个节点,但我不想让节点相互重叠。

let fadeOutAction = SKAction.fadeOut(withDuration: 2.0)
nodeToFadeOut.run(fadeOutAction)

这很完美,但我不知道节点是否已从场景中移除。

最佳答案

这里有一些你可能会觉得有用的东西:)

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)

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

enter image description here

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

关于ios - SKAction.fadeOut(withDuration : 2. 0) 是从场景中移除节点还是仅将其移除 "hides"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45915387/

相关文章:

ios - Fatal error : init(coder:) has not been implemented. 运行时哪里出错

ios - 从 Swift 中的 SKSpriteNode 子类更新 SKScene 中保存的游戏分数

ios - Storyboard中的 UIGestureRecognizer 可以使用多个 View 吗?

ios - 使用 Alamofire 序列化 JSON 对象

ios - 单击 iAd 时运行功能(暂停菜单) SpriteKit Swift

ios - 加快游戏中所有 Sprite 的速度

ios - NSOperationQueue currentQueue 不工作

ios - 如何接受来自 UITextField 的 Double 输入,并将值赋给变量?

ios - AVCaptureFileOutputRecordingDelegate函数给出的URL无法播放

ios - Swift 3 中 "asset"的使用不明确