2016-09-14 60 views
-1

標題可能有點混亂,但我想解釋我的問題。總面積分成組

可以說我有一個職位(3943,2456)和另一個職位(4954,3245)。

我有一種方法可以檢測玩家是否在一個區域內。如果屬實,這將使形狀爲長方形,西南是X1和Y2,北部東部將X2,Y2

public boolean Area(final int x1, final int x2, final int y1, final int y2) { 
    return (absX >= x1 && absX <= x2 && absY >= y1 && absY <= y2); 
} 

我想要做的就是正方形的面積,即我可以用10來表示區域,這意味着,我將在一個定義好的InArea中有10個區域。我該如何去做並做到這一點?

+0

這個問題太寬泛了,你無法得到有意義的答案。爲了改善您的問題,請考慮告訴我們您之前嘗試過的以及爲什麼它不按您期望的方式工作。 http://stackoverflow.com/help/on-topic –

回答

0

如果我正確理解這個問題,你有2點(x1,y1)和(x2,y2)(用黑色表示)。 Example 而你正在試圖製作一個像黃色線條一樣的方形表示。

如果是這樣,那麼xx2之間的距離將是該矩形的一側,並且y1之間的距離將是另一個y。因此對於(3943,2456)&(4954,3245),對於x距離將是4954-3943,對於y距離將是3245-2456。這會給你1011 x距離和789 y的距離。那是矩形的兩邊。你把他們計算在一起來得到你的區域。

現在,爲了製作網格,您需要將x距離除以列數,然後給出一個網格部分的x距離,並將y距離除以想要獲得的行數一個網格段的距離。希望這是你所問的。