正如您所提到的,实现语言无关紧要,我将为您提供检测圆形物体碰撞的通用解决方案。
另外,根据我的收集,场景中的所有对象都是圆圈。以下解决方案不适用于检测圆和其他形状之间的碰撞。
假设您有两个圆圈c1和c2。假设对应的半径为c1.r和c2.r,中心为(c1.x,c1.y)和(c2.x,c2.y),则以下函数将判断c1和c2是否发生碰撞
boolean areColliding(Circle c1, Circle c2){ center_distance = sqrt((x1-x2)^2 +(y1-y2)^2); //this is the distance between the centers of the two circles. if((c1.r+c2.r) < center_distance)return false; else return true;}如果圆发生碰撞,此伪代码函数将返回true,否则返回false。
基本上,此功能的作用是检查圆心之间的距离是否大于其各自半径的总和。



