0
我需要这样做,以便当我创建的精灵与每个精灵发生碰撞(我已经计算出碰撞)时,他们会传送到它们之前的最后一个x和y位置相互碰撞,以免彼此经过。我试图使用这个代码。在两个精灵发生碰撞之前得到最后一倍
double x, y, x2, y2;
if(!r1.intersects(r2)){
x = z.getX();
y = z.getY();
x2 = z2.getX();
y2 = z2.getY();
}
if(r1.intersects(r2)){
z.setX(x);
z.setY(y);
z2.setX(x2);
z2.setY(y2);
}
但它不起作用,因为所有的精灵都在彼此内部。我也尝试过使用这个。
if(r1.intersects(r2)){
z.setX(z.getX() - 1);
z.setY(z.getY() - 1);
z2.setX(z2.getX() + 1);
z2.setY(z2.getY() + 1);
}
该代码使得它使得精灵无法通过对方,但,使得酿出第一精灵变得快得多比后来者,因为它更精灵是冲突的开始,它将使与彼此。