0
說明:Android的碰撞檢測
我有這幾乎是現在完成一個項目,但我發現碰撞是不是真的工作。這是一種類似蛇的遊戲,可以通過觸摸屏進行控制,因此可以使用銳利的(?,抱歉的德語)角度。此刻,我只是留下一點寬容(忽略前兩個精靈)來啓用一些轉身。主要問題是精靈正在旋轉,導致超大尺寸的碰撞盒。我沒有使用任何遊戲引擎或OpenGL。
碰撞代碼: OFFSETX & OFFSETY是位圖的寬度或高度/ 2,被稱爲對蛇的頭部。在蛇(鳥)每個鏈接是一個可放置
public boolean doesHit(Placeable p) {
int xLen = Math.abs(this.x - p.x);
int yLen = Math.abs(this.y - p.y);
if (bmp != null) {
if (xLen < offsetX + p.offsetX && yLen < offsetY + p.offsetY)
return true;
} else {
if (xLen < Bird.BIG_W[Bird.mUseBird]/2
&& yLen < Bird.BIG_H[Bird.mUseBird]/2)
return true;
}
return false;
}
TL; DR /問題:
有沒有辦法轉動Rects,然後比較它們(優選的,因爲遊戲已經結束除此之外)?或者最簡單的方法是移植到OpenGL /遊戲引擎?
這很有道理。但我想不出實現它的方式。你會怎麼做? – SBoss
試試http://fypandroid.wordpress.com/2011/07/03/how-to-calculate-the-intersection-of-two-circles-java/ –