-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