我有一个简单的Java applet,它有两个用户控制的球,使用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速度.