소스 검색

Fix particle recycle

David Catuhe 7 년 전
부모
커밋
9ce2ce8681
1개의 변경된 파일3개의 추가작업 그리고 3개의 파일을 삭제
  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);
                                     Color4.LerpToRef(currentGradient.color, nextGradient.color, scale, particle.color);
                                     break;
-                                }
+                               }
                             }
                         }
                         else {
@@ -752,7 +752,6 @@
          */
         public recycleParticle: (particle: Particle) => void = (particle) => {
             var lastParticle = <Particle>this._particles.pop();
-
             if (lastParticle !== particle) {
                 lastParticle.copyTo(particle);
             }
@@ -875,6 +874,8 @@
 
                     this.colorDead.subtractToRef(particle.color, this._colorDiff);
                     this._colorDiff.scaleToRef(1.0 / particle.lifeTime, particle.colorStep);
+                } else {
+                    particle.color.copyFrom(this._colorGradients[0].color);
                 }
             }
         }
@@ -973,7 +974,6 @@
             } else {
                 newParticles = 0;
             }
-
             this._update(newParticles);
 
             // Stopped?