我有一个简单的Java小程序,使用java.awt
绘制了两个用户可控的球。我需要一种检测它们之间碰撞的方法。我已经有一种检测与墙壁碰撞的算法:
if (xPosition > (300 - radius)){
xSpeed = -xSpeed;
}
else if (xPosition < radius){
xSpeed = -xSpeed;
}
else if (yPosition > (300 - radius)) {
ySpeed = -ySpeed;
}
else if (yPosition < radius){
ySpeed = -ySpeed;
}
xPosition += xSpeed;
yPosition += ySpeed;
对于第二个球:
if (xPosition2 > (300 - radius)){
xSpeed2 = -xSpeed2;
}
else if (xPosition2 < radius){
xSpeed2 = -xSpeed2;
}
else if (yPosition2 > (300 - radius)) {
ySpeed2 = -ySpeed2;
}
else if (yPosition2 < radius){
ySpeed2 = -ySpeed2;
}
xPosition2 += xSpeed2;
yPosition2 += ySpeed2;
- 应用程序是300像素乘以300像素。
radius
存储圆的半径。xPosition
和xPosition2
存储两个球的 x 坐标。yPosition
和yPosition
存储两个球的 y 坐标。xSpeed
和xSpeed2
存储两个球的 x 速度。ySpeed
和ySpeed2
存储两个球的 y 速度。