2013-02-11 155 views
1

我有一些激光器使用矩形框作爲打標框,我檢查與我的敵人在遊戲中的矩形打標框的交集。這工作正常,但現在我試圖實現一些角度爲30度的激光,我不知道如何有效地做到這一點。我不想每像素檢測一次,因爲我打算在屏幕上顯示相當多的內容,這將會非常重要。非方形物體的碰撞檢測

任何幫助,將不勝感激。謝謝。

哦,我在Java這樣的Android(不要認爲這是雖然重要)

+0

您能否提供一些有關所涉幾何的更多細節?圖表會很有幫助。 – 2013-02-11 05:46:34

回答

1

計算使用線性攔截

y = mx + c 
    y2 = gx + d 
    mx + c = gx + d 
    mx - gx = d - c 
    x(m - g) = d - c 
    x => (d-c)/(m-g) 

然後測試返回值是否在域X。找到x後,計算y並測試它是否在lazer和矩形的範圍內