Selaa lähdekoodia

Fix particle recycle

David Catuhe 7 vuotta sitten
vanhempi
commit
9ce2ce8681
1 muutettua tiedostoa jossa 3 lisäystä ja 3 poistoa
  1. 3 3
      src/Particles/babylon.particleSystem.ts

+ 3 - 3
src/Particles/babylon.particleSystem.ts

@@ -470,7 +470,7 @@
                                     let scale = (ratio - currentGradient.gradient) / (nextGradient.gradient - currentGradient.gradient);
                                     let scale = (ratio - currentGradient.gradient) / (nextGradient.gradient - currentGradient.gradient);
                                     Color4.LerpToRef(currentGradient.color, nextGradient.color, scale, particle.color);
                                     Color4.LerpToRef(currentGradient.color, nextGradient.color, scale, particle.color);
                                     break;
                                     break;
-                                }
+                               }
                             }
                             }
                         }
                         }
                         else {
                         else {
@@ -752,7 +752,6 @@
          */
          */
         public recycleParticle: (particle: Particle) => void = (particle) => {
         public recycleParticle: (particle: Particle) => void = (particle) => {
             var lastParticle = <Particle>this._particles.pop();
             var lastParticle = <Particle>this._particles.pop();
-
             if (lastParticle !== particle) {
             if (lastParticle !== particle) {
                 lastParticle.copyTo(particle);
                 lastParticle.copyTo(particle);
             }
             }
@@ -875,6 +874,8 @@
 
 
                     this.colorDead.subtractToRef(particle.color, this._colorDiff);
                     this.colorDead.subtractToRef(particle.color, this._colorDiff);
                     this._colorDiff.scaleToRef(1.0 / particle.lifeTime, particle.colorStep);
                     this._colorDiff.scaleToRef(1.0 / particle.lifeTime, particle.colorStep);
+                } else {
+                    particle.color.copyFrom(this._colorGradients[0].color);
                 }
                 }
             }
             }
         }
         }
@@ -973,7 +974,6 @@
             } else {
             } else {
                 newParticles = 0;
                 newParticles = 0;
             }
             }
-
             this._update(newParticles);
             this._update(newParticles);
 
 
             // Stopped?
             // Stopped?