-1
在我开始之前,我已阅读this后,但它似乎并不适用于我。我正在尝试检查Arc2d对象和Ellipse2D对象之间的碰撞。碰撞的作用,但它把对象变成矩形。Ellipse2D对象和Arc2d对象之间的碰撞检测
public Arc2D a;
public Ellipse2D e;
public void aStuff() {
a = new Arc2D.Double(((getWidth()/2) - (250/2)), (getHeight() - 135), 250, 265, 0, 180, Arc2D.CHORD);
}
public void eStuff() {
e = new Ellipse2D.Double((getWidth()/2), y, 52, 55);
}
public boolean collisionCheck() {
if (a.getBounds2D().intersects(e.getBounds2d())) { // This is where it turns them into rectangles.
return true;
} else {
return false;
}
}
在我的计时器,它改变了“一”,所以它与“E”发生碰撞,它会检查布尔返回值,并做一些位置。
y += 5;
if (collisionCheck()) {
...
}
但是目前,我无法让检查部分正常工作。我可以改变什么。我曾尝试使用形状对象和使用区域,但它给了我一个错误,说它不能从布尔值返回一个void值。任何帮助表示赞赏。
我试过使用区域,但它给了我这个错误:类型不匹配:不能从void转换为布尔值。 – Thomas 2015-01-09 21:30:48