kiwi Posted December 4, 2015 Share Posted December 4, 2015 hi, in my game I'm dropping bombs from an airplane, and when a bomb hit the ground I create an emitter particle at given position. When the bomb hit the ground I load another bomb on the plane and create another emitter. My questions are: 1. are emitter auto destroy once completed the animation?2. is there a way to optimise this using only one emitter but having the full animation in place? thanks Link to comment Share on other sites More sharing options...
drhayes Posted December 4, 2015 Share Posted December 4, 2015 Nope, emitters don't auto destroy. You'd probably be better off re-using the first emitter or setting up a system where you have a pool of emitters. Sticking the emitters in a group and using "getFirstDead" might be a good start. Link to comment Share on other sites More sharing options...
kiwi Posted December 4, 2015 Author Share Posted December 4, 2015 Nope, emitters don't auto destroy. You'd probably be better off re-using the first emitter or setting up a system where you have a pool of emitters. Sticking the emitters in a group and using "getFirstDead" might be a good start.thanks, but once I get the reference I just have to trigger the start method? I saw the update() method on the documentation but it's not very clear what it does? can I use it like this?this.bombEmitter = []; this.bombEmitter.length === 0 && this.bombEmitter.push(this.game.add.emitter(0, 0, 30));var bombEmitter = this.bombEmitter[0] thanks Link to comment Share on other sites More sharing options...
kiwi Posted December 4, 2015 Author Share Posted December 4, 2015 thanks, but once I get the reference I just have to trigger the start method? I saw the update() method on the documentation but it's not very clear what it does? can I use it like this?this.bombEmitter = []; this.bombEmitter.length === 0 && this.bombEmitter.push(this.game.add.emitter(0, 0, 30));var bombEmitter = this.bombEmitter[0] thanks I'll quote myself. I was using the code above and after that updating some properties such as alpha values and position but it was causing me some blocking errors.To fix this I simply call the kill method before start (please let me know if it's not the correct way or there is a better way to do it so) the final code:this.bombEmitter.length === 0 && this.bombEmitter.push(this.game.add.emitter(0, 0, 30));var bombEmitter = this.bombEmitter[0]bombEmitter.kill();bombEmitter.gravity = 0;bombEmitter.setXSpeed(-200, 200);bombEmitter.setYSpeed(-200, 200); // make smoke drift upwardsbombEmitter.setAlpha(1, 0, 1000, Phaser.Easing.Linear.InOut);bombEmitter.makeParticles('star');//add to the ground group so it will following during scrollground.addChild( bombEmitter)bombEmitter.start(true, 1000, 50, 15); Link to comment Share on other sites More sharing options...
Recommended Posts