我已将Particles.js repo分叉,只对代码进行了一些更改。我从来没有触及过源代码的这一部分,但我想其他地方已经改变了一些问题。
抛出'Uncaught 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);
}
}
};
答案 0 :(得分:0)
我遇到了同样的问题,并怀疑原因是粒子的尺寸太大,因此当激活反弹时,它们无处可去...