我有一个大圆圈和大约 30 个在大圆圈内的小气泡。小气泡不能走出大圆圈,当一个小气泡与另一个小气泡相遇时,它们会偏向相反的方向。
这是两个小圆圈偏转的代码:
var xVelocityBubble1 = Math.random();
var yVelocityBubble1 = Math.random();
var xVelocityBubble2 = Math.random();
var yVelocityBubble2 = Math.random();
moveBubbles = function() {
xbubble1 += xVelocityBubble1;
ybubble1 += yVelocityBubble1;
xbubble2 -= xVelocityBubble2;
xbubble2 -= yVelocityBubble2;
if (Math.sqrt(Math.pow(xbubble1 - xbubble2, 2) + Math.pow(ybubble1 - ybubble2, 2)) < radius * 2) {
xVelocityBubble1 *= -1;
yVelocityBubble1 *= -1;
xVelocityBubble2 *= -1;
yVelocityBubble2 *= -1;
}
}
现在,问题来了。正如你在这张照片上看到的,有时我的气泡会碰撞,我不知道为什么。一切正常,直到一个圈子崩溃,然后突然越来越多的气泡陷入战争。看看圆圈 375、240,330 和 410。首先我认为这可能与不同的速度有关,但这不是问题所在。有人知道吗?