Estoy usando Pixi.js para generar algunas partículas en un lienzo, pero necesito que las partículas se generen solo por un tiempo (3 segundos).
Creé una función de bucle que genera las partículas, pero no sé cómo hacer que deje de generarse después de un tiempo:
var particles = []; function spawnFountain(){ var particle = new PIXI.Sprite.from('./Assets/particle.png'); app.stage.addChild(particle); particles.push(particle); setTimeout( () => { spawnFountain(); },10) }Necesito esta función para detener el desove después de 3 segundos.
var particles = []; function spawnFountain(){ var particle = new PIXI.Sprite.from('./Assets/particle.png'); app.stage.addChild(particle); particles.push(particle); } var intervalStart = new Date(); var interval = setInterval(() => { var now = new Date(); if (now - intervalStart > 3000) { // 3 seconds clearInterval(interval); return; } spawnFountain(); }, 10) Debe usar una combinación de setInterval y clearInterval para iniciar y detener el ciclo de generación. Al realizar un seguimiento de cuándo comenzó la generación de partículas y la hora actual, puede determinar cuándo debe terminar el intervalo.
Así es como puedes hacer que tu código funcione. Sin embargo, este enfoque para generar partículas de sprites es bastante ineficiente y probablemente terminará en problemas de rendimiento. Considere usar un módulo como pixi-partículas para este asunto.