2016-09-14 96 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距离除以想要获得的行数一个网格段的距离。希望这是你所问的。