我想在乒乓球遊戲中做簡單的碰撞檢測。 球是方形,槳(蝙蝠)是長方形。簡單碰撞檢測 - Android
我有兩個實體進來,我可以得到當前的X和Y位置,以及位圖的高度和寬度。這是最簡單的方法嗎?
我有這樣的代碼:
public void getCollision(Entity enitityOne, Entity enitityTwo){
double eventCoordX = (enitityOne.getCenterX() - (enitityTwo.getBitmapWidth()/2));
double eventCoordY = (enitityOne.getCenterY() - (enitityTwo.getBitmapHeight()/2));
double X = Math.abs(enitityTwo.getxPos() - eventCoordX);
double Y = Math.abs(enitityTwo.getyPos() - eventCoordY);
if(X <= (enitityTwo.getBitmapWidth()) && Y <= (enitityTwo.getBitmapHeight())){
enitityOne.collision();
enitityTwo.collision();
}
}
但我很盲目的,在槳的中間這隻作品不是在兩側。 問題是我看不到代碼是錯的。 有人嗎? 有人有更好的主意嗎?
我覺得繪畫的正常情況下和邊緣的情況下圖是非常有用的。 – Skizz
Joakim,getBitmapWidth和getBitmapHeight返回實體的實際大小?我這樣問,因爲實體可以有一個邊界,這個邊界不是這個大小的總和。 –
布魯諾 - 是的,它返回位圖的真實大小,我已經仔細檢查;-) –