确定单击窗口的哪个区域

时间:2011-10-01 09:59:48

标签: math mouseevent

这实际上是一个普通的编程问题。 我有一个分为9个正方形的窗口。当用户点击其中一个方块时,我想知道哪个方块。我可以通过x和y变量获得点击的位置。

我目前的方法是xRegion = screenWidth / xyRegion = screenHeight / y,例如,我会在640x480窗口中给出(1,1,2)点(320,240)。但这只适用于大约三分之一左右的xy值。我知道这可能很简单,但我似乎无法将我的大脑包裹起来。

1 个答案:

答案 0 :(得分:2)

xRegion = (x*3) / screenWidth;
yRegion = (y*3) / screenHeight;

+-----+-----+-----+
| 0,0 | 1,0 | 2,0 |
+-----+-----+-----+
| 0,1 | 1,1 | 2,1 |
+-----+-----+-----+
| 0,2 | 1,2 | 2,2 |
+-----+-----+-----+

如果您使用的是js或php之类的语言,则必须将结果置为/截断以获得整数 如果您希望第一个区域为(1,1)

,请在结果中添加1

对于结果1到9,请执行以下操作:cell = yRegion*3 + xRegion + 1;

1 2 3
4 5 6
7 8 9