【发布时间】:2017-03-26 06:41:38
【问题描述】:
我有一个在SKScene 上运行的SKEmitterNode,我想在不中断粒子的情况下将它移动到下一个SKScene。
通常我会这样做:
let scene: SKScene = GameScene(size: self.size)
let transition = SKTransition.crossFade(withDuration: 0.5)
self.view!.presentScene(scene, transition: transition)
然后在下一个SKScene:
override func didMove(to view: SKView) {
particleEmitter.removeFromParent()
addChild(particleEmitter)
}
这工作得很好,但是在这种情况下,我不想在移动到下一个 SKScene 时使用过渡。我试过没有像这样的过渡:
let scene: SKScene = GameScene(size: self.size)
self.view!.presentScene(scene)
而SKEmitterNode 会在新的SKScene 出现后立即消失,即使我已将其从上一个SKScene 中删除并将其作为子项添加到新的SKScene。
我的问题是为什么SKEmitterNode 消失了,我怎样才能在不使用 SKScene 之间的过渡的情况下让它工作。任何帮助将不胜感激,谢谢。
注意:使用持续时间为 0 的 SKTransition 也可以,但这会在过渡期间导致明显的“闪烁”。
【问题讨论】:
标签: swift sprite-kit skscene skemitternode