SKEmitterNode
がSKScene
で実行されていて、次のSKScene
に移動したい場合は、粒子を中断せずに移動します。新しいSKSceneに追加するとSKEmitterNodeが消える
通常、私は次のようにそれを行うだろう:
次SKScene上let scene: SKScene = GameScene(size: self.size)
let transition = SKTransition.crossFade(withDuration: 0.5)
self.view!.presentScene(scene, transition: transition)
そして:
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
からそれを削除し、新しいものに子として追加したにも関わらず提示されるとすぐに消えます。
私の質問は、なぜSKEmitterNode
が消滅しているのかと、SKSceneの間の移行を使用せずにどのように動作させることができるのですか。どんな助けでも大変感謝します。
注:継続時間が0のSKTransition
を使用すると動作しますが、これはトランジション中に顕著な「フラッシュ」を引き起こします。
助けてくれてありがとう、これは私が元来しようとしていたもので、それは私のために働いていませんでした。それは私がもう一度試したと言われています(文字通り元のコードのコメントを外しただけです)、突然うまくいきます。 – jm1175
@ jm1175多分、何かが遅れの原因でした。あなたは、テクスチャなどによるスプライトの初期化を知っています。とにかく、それがあなたのために働いて聞いてうれしい! :)ハッピーコーディング。 – Whirlwind