swift - How to remove sprite node from screen after particle effect -
func collisionhappened() { let explosion = skemitternode(filenamed: "rocketexplosion") rocket.addchild(explosion) let scenechange = gameoverscene(size: self.size) scenechange.scalemode = scalemode let reveal = sktransition.crossfadewithduration(3) self.view?.presentscene(scenechange, transition: reveal) reveal.pausesoutgoingscene = false } i have attached particle effect node want "explode" when collision happens, ending game. want scene change game on scene. if outgoing scene pauses particle effect doesn't happen, i've set not pause, collisions keep happening , game on scene never appears game keeps going outgoing scene. overcome thought add: rocket.removefromparent() no more collisions can happen, means particle effect doesn't happen. there way make particle effect happens, rocket removed can have both? hope makes sense!
if understand question correctly, add particle effect child of skscene subclass instead of child of rocket. therefore, when remove rocket, particle effect won't removed. make sure set skemitter's position rocket's position have particles appear in correct place. example:
func collisionhappened() { let explosion = skemitternode(filenamed: "rocketexplosion") explosion.position = rocket.position // i'm assuming 'self' skscene subclass. self.addchild(explosion) let scenechange = gameoverscene(size: self.size) scenechange.scalemode = scalemode let reveal = sktransition.crossfadewithduration(3) self.view?.presentscene(scenechange, transition: reveal) reveal.pausesoutgoingscene = false }
Comments
Post a Comment