【发布时间】:2013-06-18 17:46:00
【问题描述】:
这是我使用 Java 的第一周,我正在制作一个包含矩形相互弹跳的游戏。 rx 和 ry 是矩形的坐标,velRX 和 velRY 是它们的 x 和 y 速度。我正在尝试使矩形相互反弹(反转 y 速度),但如果它们在顶部或底部碰撞,则以相同的 x 速度继续,反之亦然。但是,我不知道如何检测矩形碰撞的哪一侧。我可以帮忙吗? 相关代码
//Checking for collision between Nemesis and Cop
public boolean checkCollisionOther() {
Rectangle r1 = rect1.getBoundsNemesis();
Rectangle r2 = rect2.getBoundsCop();
if (r1.intersects(r2)){
collision = true;
rect1.velRY = -rect1.velRY;
rect1.velRX = -rect1.velRX;
rect2.velRY = -rect2.velRY;
rect2.velRX = -rect2.velRX;
}
else
collision = false;
return collision;
}
【问题讨论】:
-
如需尽快获得更好的帮助,请发帖SSCCE。
标签: java awt collision java-2d