RangeError:超出最大调用堆栈大小(ParticlesJS函数)

问题描述 投票:0回答:1

我已经分叉了Particles.js存储库,仅对代码进行了一些更改。我从未接触过源代码的这一部分,但我想我在其他地方更改的某些内容会导致此问题。

引发'未捕获的RangeError:超出最大调用堆栈大小的行是以下行:

p1.x = position ? position.x : Math.random() * pJS.canvas.w;

在函数中:

  pJS.fn.vendors.checkOverlap = function(p1, position){
    for(var i = 0; i < pJS.particles.array.length; i++){
      var p2 = pJS.particles.array[i];

      var dx = p1.x - p2.x,
          dy = p1.y - p2.y,
          dist = Math.sqrt(dx*dx + dy*dy);

      if(dist <= p1.radius + p2.radius){
        p1.x = position ? position.x : Math.random() * pJS.canvas.w;
        p1.y = position ? position.y : Math.random() * pJS.canvas.h;
        pJS.fn.vendors.checkOverlap(p1);
      }
    }
  };
javascript
1个回答
0
投票

我遇到了同样的问题,并且怀疑原因是粒子的尺寸太大,因此当激活反弹时,它们无处可去...

© www.soinside.com 2019 - 2024. All rights reserved.